Ansichtsbeschränkungen mit Rändern und sticky_edges kontrollieren #

marginsDie erste Abbildung in diesem Beispiel zeigt, wie Sie mit anstelle von set_xlimund in einen Plot hinein- und herauszoomen set_ylim. Die zweite Abbildung zeigt das von bestimmten Methoden und Künstlern eingeführte Konzept der Kantenklebrigkeit und wie man es effektiv umgeht.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon


def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)


t1 = np.arange(0.0, 3.0, 0.01)

ax1 = plt.subplot(212)
ax1.margins(0.05)           # Default margin is 0.05, value 0 means fit
ax1.plot(t1, f(t1))

ax2 = plt.subplot(221)
ax2.margins(2, 2)           # Values >0.0 zoom out
ax2.plot(t1, f(t1))
ax2.set_title('Zoomed out')

ax3 = plt.subplot(222)
ax3.margins(x=0, y=-0.25)   # Values in (-0.5, 0.0) zooms in to center
ax3.plot(t1, f(t1))
ax3.set_title('Zoomed in')

plt.show()
Verkleinert, Vergrößert

Über die "Klebrigkeit" bestimmter Plotmethoden #

Einige Zeichenfunktionen machen die Achsengrenzen "klebrig" oder immun gegen den Willen der marginsMethoden. Erwarten Sie zum Beispiel, imshowdass pcolorder Benutzer möchte, dass die Grenzen um die im Diagramm angezeigten Pixel eng sind. Wenn dieses Verhalten nicht erwünscht ist, müssen Sie es auf use_sticky_edgessetzen False. Betrachten Sie das folgende Beispiel:

y, x = np.mgrid[:5, 1:6]
poly_coords = [
    (0.25, 2.75), (3.25, 2.75),
    (2.25, 0.75), (0.25, 0.75)
]
fig, (ax1, ax2) = plt.subplots(ncols=2)

# Here we set the stickiness of the axes object...
# ax1 we'll leave as the default, which uses sticky edges
# and we'll turn off stickiness for ax2
ax2.use_sticky_edges = False

for ax, status in zip((ax1, ax2), ('Is', 'Is Not')):
    cells = ax.pcolor(x, y, x+y, cmap='inferno', shading='auto')  # sticky
    ax.add_patch(
        Polygon(poly_coords, color='forestgreen', alpha=0.5)
    )  # not sticky
    ax.margins(x=0.1, y=0.05)
    ax.set_aspect('equal')
    ax.set_title('{} Sticky'.format(status))

plt.show()
Ist klebrig, ist nicht klebrig

Verweise

In diesem Beispiel wird die Verwendung der folgenden Funktionen, Methoden, Klassen und Module gezeigt:

Galerie generiert von Sphinx-Gallery