From ea8a3fb4c0a971c4c55481dab3bb7d3228c09425 Mon Sep 17 00:00:00 2001 From: Luke Date: Tue, 24 Jul 2018 18:06:24 -0700 Subject: [PATCH] Updated plot names and tweaked alpha function. --- .gitignore | 1 + README.md | 30 +++++++++++++++--------------- TankGlobals.py | 9 ++++++--- tankPlot.py | 4 ++-- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 9cc9b92..f09f725 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Figures directory figures* +fromMat # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/README.md b/README.md index fa7a6df..ad8168c 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,36 @@ # What is this? This whole tool is a basic front end for using Python's `matplotlib` in a -moderately interactive and robust manner to do MATLAB-like number crunching and -(more critically) plot generation for papers. +moderately interactive and robust manner to do MATLAB-like number crunching +and (more critically) plot generation for papers. ## MATLAB Soapbox Explanation -While MATLAB has routines to save figures, the graphics back-end routinely runs -into issues with NVIDIA GPU based systems, and I'm sick and tired of being tied -to a tool that has a heavy resource footprint and only moderate documentation. -The licensing restrictions (though not fundamentally debilitating) are a -secondary reason I'm moving away from MATLAB. Finally, as I expect to graduate -soon, the $50 (or $130 for my toolboxes) annual cost is going to rise to a -debilitating point for things as mundane as personal projects. So I might as -well kick an expensive habit while it's easy to fall back when needed. +While MATLAB has routines to save figures, the graphics back-end routinely +runs into issues with NVIDIA GPU based systems, and I'm sick and tired of +being tied to a tool that has a heavy resource footprint and only moderate +documentation. The licensing restrictions (though not fundamentally +debilitating) are a secondary reason I'm moving away from MATLAB. Finally, +as I expect to graduate soon, the $50 (or $130 for my toolboxes) annual +cost is going to rise to a debilitating point for things as mundane as +personal projects. So I might as well kick an expensive habit while it's +easy to fall back when needed. # Resources There are a few tricks to help configuring `matplotlib`. I'll update this -document to describe the commands and tools to help decipher the information -required to produce plots in a repeatable and tidy way. +document to describe the commands and tools to help decipher the +information required to produce plots in a repeatable and tidy way. ## 1. Plot Defaults Plot defaults are managed by the `matplotlib` ## 2. Font Selection ```python -import `matplotlib`.font_manager +import matplotlib.font_manager print(matplotlib.font_manager.fontManager.afmlist) print(matplotlib.font_manager.fontManager.ttflist) ``` I search for fonts using the following method: -``` +```python import matplotlib.font_manager as FM import re @@ -45,7 +46,6 @@ fontsAvailable = set([FM.FontProperties(fname=fcFont).get_name()\ [matplotlib docs](https://matplotlib.org/api/font_manager_api.html) -## 3. # TODO * make pySmithPlot a git sub-module diff --git a/TankGlobals.py b/TankGlobals.py index 8c22542..5e324b5 100644 --- a/TankGlobals.py +++ b/TankGlobals.py @@ -100,11 +100,14 @@ class ampSystem: @property def alpha_swp(self): range_partial = np.ceil(self.gamma_len/2) - lhs = np.linspace(np.sqrt(self.alpha_min),1, range_partial) - rhs = np.flip(lhs,0) + rhs = np.power(np.linspace(0,1,range_partial),2)*(self.alpha_min-1)+1 + lhs = np.flip(rhs,0) + #lhs = np.linspace(np.sqrt(self.alpha_min),1, range_partial) + #rhs = np.flip(lhs,0) swp = np.concatenate((lhs,rhs[1:])) if np.mod(self.gamma_len,2) == 1 \ else np.concatenate((lhs,rhs)) - return np.power(swp,2) + #return np.power(swp,2) + return swp def set_gamma_swp(self, gamma_swp_function): self._gamma_map_function = gamma_swp_function diff --git a/tankPlot.py b/tankPlot.py index 8488c14..4f7544e 100755 --- a/tankPlot.py +++ b/tankPlot.py @@ -179,9 +179,9 @@ if 1 in plot_list or 11 in plot_list: ax1[0].plot(f.hz,dB20(tf)) ax1[1].plot(f.hz,ang_unwrap(tf)) - ax1[0].set_title('TF Gain') + ax1[0].set_title('Stage Gain Response') ax1[0].set_ylabel('Gain (dB)') - ax1[1].set_title('TF Phase') + ax1[1].set_title('Stage Phase Response') ax1[1].set_ylabel('Phase (deg)') for axT in ax1: