CartesianAxes.dualy(funcscale, **kwargs)[source]

Add an axes locked to the same location whose y axis denotes equivalent coordinates in alternate units. This is an alternative to matplotlib.axes.Axes.secondary_yaxis with additional convenience features.

  • funcscale (callable(), 2-tuple of callables, or scale-spec) – The scale used to transform units from the parent axis to the secondary axis. This can be a FuncScale itself or a function, (function, function) tuple, or an axis scale specification interpreted by the Scale constructor function, any of which will be used to build a FuncScale and applied to the dual axis (see FuncScale for details).

  • **kwargs – Passed to CartesianAxes. Supports all valid format keywords. You can optionally omit the y from keywords beginning with y – for example ax.alty(lim=(0, 10)) is equivalent to ax.alty(ylim=(0, 10)). You can also change the default side for the axis spine, axis tick marks, axis tick labels, and/or axis labels by passing loc keywords. For example, ax.alty(loc='left') changes the default side from right to left.


proplot.axes.CartesianAxes – The resulting axes.


This enforces the following default settings:

  • Places the old y axis on the left and the new y axis on the right.

  • Makes the old right spine invisible and the new left, bottom, and top spines invisible.

  • Adjusts the y axis tick, tick label, and axis label positions according to the visible spine positions.

  • Syncs the old and new x axis limits and scales, and makes the new x axis labels invisible.