Skip to main content

An extension for Matplotlib providing a projection class to generate high quality Smith Chart plots.

Project description

## New Release of Version 0.2

After 2 years of getting dusty pySmithPlot now got some new features and bug fixes. Here is a short changelog:

  • Support for Python 3

  • improved grid generation algorithm

  • plot() now also handles also single numbers and purely real data

  • plot() can now interpolate lines between points or generate an equidistant spacing

  • changed handling of input data and renormalization; now the actual datatype (S,Z,Y-Parameter) can be specified when calling plot()

  • changed behaviour for normalization and placement of the label

  • added some parameter checks

  • removed default matplotlib settings

  • renamed some parameters to improve consistency

  • fixed issues with Unicode symbols

  • fixed issues with grid generation

  • fixed issues with axis label display and placement

There are still some plans for the future and they hopefully don’t take another two years:

  • [ ] support for Admittance Charts

  • [ ] support for contour() plots

  • [ ] zoom and ‘cut out’ function

  • [ ] special handling of other matplotlib.patch objects like arrows

  • [ ] …

## Features

pySmithPlot is a matplotlib extension providing a projection class for creating high quality Smith Charts with Python. The generated plots blend seamless into matplotlib’s style and support almost the full range of customization options.

This Library allows the fully automatic generation of Smith Charts with various customizable parameters and well selected default values. It also provides the following modifications and extensions:

  • circle shaped drawing area with labels placed around

  • plot() accepts real and complex numbers as well as numpy.ndarray’s

  • lines can be automatically interpolated to improve the optical appearance

  • data ranges can be interpolated to an equidistant spacing

  • start/end markers of lines can be modified and rotate tangential

  • gridlines are 3-point arcs to improve space efficiency of exported plots

  • ‘fancy’ option for adaptive grid generation

  • own tick locators for nice axis labels

For making a Smith Chart plot, it is sufficient to import smithplot and create a new subplot with projection set to ‘smith’. (Requires matplotlib version 1.2)

A short example can be found in the testbenches directory and started with:

python3 smith_short_test.py

For more details and documentation, take a look into smithplot/smithaxes.py.

testbenches/smith_full_test.py runs various testbenches and gives a comparison for almost all parameters. These are the generated sample plots:

![Grid Styles](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_grid_styles.png) [Grid Styles - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_grid_styles.pdf)

![Fancy Threshold](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_fancy_grid.png) [Fancy Threshold - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_fancy_grid.pdf)

![Grid Locators](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_grid_locators.png) [Grid Locators - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_grid_locators.pdf)

![Marker Modification](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_markers.png) [Marker Modification - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_markers.pdf)

![Interpolation](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_interpolation.png) [Interpolation - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_interpolation.pdf)

![Normalize](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_normalize.png) [Normalize - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_normalize.pdf)

![Miscellaneous](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_miscellaneous.png) [Miscellaneous - PDF](https://github.com/vMeijin/pySmithPlot/wiki/images/examples/sample_miscellaneous.pdf)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysmithplot_3.10-0.2.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysmithplot_3.10-0.2.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file pysmithplot_3.10-0.2.0.tar.gz.

File metadata

  • Download URL: pysmithplot_3.10-0.2.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for pysmithplot_3.10-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4337cdcd07a195580b0b9bc5c333379cbd7525889928dd178e068d774089bbe8
MD5 aa5902666e79b524d9ef060e0e7035d9
BLAKE2b-256 958c73a6f7ee6a1b0fff55e28ed6b81c84e6c2096766623a4d0b4e2379ca61f9

See more details on using hashes here.

File details

Details for the file pysmithplot_3.10-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pysmithplot_3.10-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d746a147b9a9afe1c97600bc8d0b8c7a1ce4b5a87e789c94895217db5505c3d6
MD5 3f852d36f0fa400ebed052efe274af7e
BLAKE2b-256 d2cb615b54b0d66068e296cab8369f6e39cfce7ea56b37c142d07bef105a4d79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page