Demo CurveLinear Grid2 #

Benutzerdefiniertes Raster und Ticklines.

Dieses Beispiel zeigt, wie GridHelperCurveLinear verwendet wird, um benutzerdefinierte Raster und Ticklines zu definieren, indem eine Transformation auf das Raster angewendet wird. Als Schaufenster auf dem Plot wird eine 5x5-Matrix auf den Achsen angezeigt.

Demokurvelineares Gitter2
import numpy as np
import matplotlib.pyplot as plt

from mpl_toolkits.axisartist.grid_helper_curvelinear import (
    GridHelperCurveLinear)
from mpl_toolkits.axisartist.grid_finder import (
    ExtremeFinderSimple, MaxNLocator)
from mpl_toolkits.axisartist.axislines import Axes


def curvelinear_test1(fig):
    """Grid for custom transform."""

    def tr(x, y):
        return np.sign(x)*abs(x)**.5, y

    def inv_tr(x, y):
        return np.sign(x)*x**2, y

    grid_helper = GridHelperCurveLinear(
        (tr, inv_tr),
        extreme_finder=ExtremeFinderSimple(20, 20),
        # better tick density
        grid_locator1=MaxNLocator(nbins=6), grid_locator2=MaxNLocator(nbins=6))

    ax1 = fig.add_subplot(axes_class=Axes, grid_helper=grid_helper)
    # ax1 will have a ticks and gridlines defined by the given
    # transform (+ transData of the Axes). Note that the transform of the Axes
    # itself (i.e., transData) is not affected by the given transform.

    ax1.imshow(np.arange(25).reshape(5, 5),
               vmax=50, cmap=plt.cm.gray_r, origin="lower")


if __name__ == "__main__":
    fig = plt.figure(figsize=(7, 4))
    curvelinear_test1(fig)
    plt.show()

Galerie generiert von Sphinx-Gallery