Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
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.
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()