Updated plot names and tweaked alpha function.
This commit is contained in:
parent
669b144747
commit
ea8a3fb4c0
4 changed files with 24 additions and 20 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,5 +1,6 @@
|
|||
# Figures directory
|
||||
figures*
|
||||
fromMat
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
|
|
30
README.md
30
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue