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_fork-0.2.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

pysmithplot_fork-0.2.1-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file pysmithplot_fork-0.2.1.tar.gz.

File metadata

  • Download URL: pysmithplot_fork-0.2.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pysmithplot_fork-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4a11146f53f825d2b5859379fad3fac02b0242b7aef1dcb7d284c3366e851bd6
MD5 4eabd2e96b4e1868ce65f350b997b654
BLAKE2b-256 9a954e09c1d90da71a5a3045f64f4ba690faa6cf96e2acd7ef7c3c4fd7b86d35

See more details on using hashes here.

File details

Details for the file pysmithplot_fork-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pysmithplot_fork-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee948886eab976c680e48e5b0cf61dfd46af3027c8ae1245c2e0182bde8c42a9
MD5 a0d945306e92e650441d0bc9ca264b2c
BLAKE2b-256 8579ef0ccf4efe4ee5869fa0dd437a22e895d0de6a74483e42b41dd5c92ff3c6

See more details on using hashes here.

Supported by

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