SmithAxes

class pysmithchart.axes.SmithAxes(*args, **kwargs)[source]

Bases: AxesCore, TransformMixin, GridMixin, PlottingMixin, HelpersMixin, Axes

A subclass of matplotlib.axes.Axes specialized for rendering Smith Charts.

This class implements a fully automatic Smith Chart with support for impedance normalization, custom grid configurations, and flexible marker handling. Default parameters (e.g., grid settings, marker styles, and plot defaults) are defined in pysmithchart.constants.

The implementation is organized into several mixin classes:

  • AxesCore: Initialization and configuration

  • TransformMixin: Coordinate transformations (Möbius, etc.)

  • GridMixin: Grid drawing functionality

  • PlottingMixin: Plotting, text, annotation methods

  • HelpersMixin: Utility and helper methods

Note

Parameter changes (such as grid updates) may not take effect immediately. To reset the chart, use the clear() method.

Examples

Create a simple Smith chart:

>>> import matplotlib.pyplot as plt
>>> import pysmithchart
>>> fig = plt.figure()
>>> ax = fig.add_subplot(1, 1, 1, projection='smith')
>>> ax.plot([0.5+0.5j, 0.3+0.8j])
>>> plt.show()

Attributes Summary

name

Methods Summary

set(*[, adjustable, agg_filter, alpha, ...])

Set multiple properties at once.

Attributes Documentation

name = 'smith'

Methods Documentation

set(*, adjustable=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>, anchor=<UNSET>, animated=<UNSET>, aspect=<UNSET>, autoscale_on=<UNSET>, autoscalex_on=<UNSET>, autoscaley_on=<UNSET>, axes_locator=<UNSET>, axisbelow=<UNSET>, box_aspect=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, facecolor=<UNSET>, forward_navigation_events=<UNSET>, frame_on=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, navigate=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, prop_cycle=<UNSET>, rasterization_zorder=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, subplotspec=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, xbound=<UNSET>, xlabel=<UNSET>, xlim=<UNSET>, xmargin=<UNSET>, xscale=<UNSET>, xticklabels=<UNSET>, xticks=<UNSET>, ybound=<UNSET>, ylabel=<UNSET>, ylim=<UNSET>, ymargin=<UNSET>, yscale=<UNSET>, yticklabels=<UNSET>, yticks=<UNSET>, zorder=<UNSET>)

Set multiple properties at once.

Supported properties are

Properties:

adjustable: {‘box’, ‘datalim’} agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image alpha: float or None anchor: (float, float) or {‘C’, ‘SW’, ‘S’, ‘SE’, ‘E’, ‘NE’, …} animated: bool aspect: {‘auto’, ‘equal’} or float autoscale_on: bool autoscalex_on: unknown autoscaley_on: unknown axes_locator: Callable[[Axes, Renderer], Bbox] axisbelow: bool or ‘line’ box_aspect: float or None clip_box: ~matplotlib.transforms.BboxBase or None clip_on: bool clip_path: Patch or (Path, Transform) or None facecolor or fc: :mpltype:`color` figure: ~matplotlib.figure.Figure or ~matplotlib.figure.SubFigure forward_navigation_events: bool or “auto” frame_on: bool gid: str in_layout: bool label: object mouseover: bool navigate: bool navigate_mode: unknown path_effects: list of .AbstractPathEffect picker: None or bool or float or callable position: [left, bottom, width, height] or ~matplotlib.transforms.Bbox prop_cycle: ~cycler.Cycler rasterization_zorder: float or None rasterized: bool sketch_params: (scale: float, length: float, randomness: float) snap: bool or None subplotspec: unknown title: str transform: ~matplotlib.transforms.Transform url: str visible: bool xbound: (lower: float, upper: float) xlabel: str xlim: unknown xmargin: float greater than -0.5 xscale: unknown xticklabels: unknown xticks: unknown ybound: (lower: float, upper: float) ylabel: str ylim: unknown ymargin: float greater than -0.5 yscale: unknown yticklabels: unknown yticks: unknown zorder: float