Die Achsenfunktion von matplotlib ist praktisch und erleichtert das Anpassen der Koordinaten.
"Achse (" eng ")" reduziert die Ränder so weit wie möglich.
axis (" image ")
macht dasselbe unter Beibehaltung des Seitenverhältnisses.
Das Hinzufügen von "Farbbalken" macht es jedoch verwirrend.
Betrachten Sie den folgenden einfachen Fall:
import numpy as np
import matplotlib.pyplot as plt
Nx = 100
Ny = 20
a = np.random.rand(Ny, Nx)
x = range(Nx)
y = range(Ny)
X, Y = np.meshgrid(x, y)
plt.pcolormesh(X, Y, a)
plt.axis("image")
plt.colorbar()
Ich denke, es ist ein persönliches Hobby, wie ich möchte, dass die Farbleiste zu diesem Zeitpunkt herauskommt. Das ist nicht meine Präferenz.
Hier kommt make_axes_locatable
ins Spiel.
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig, ax = plt.subplots()
image = ax.pcolormesh(X, Y, a)
ax.axis("image")
divider = make_axes_locatable(ax)
ax_cb = divider.new_horizontal(size="2%", pad=0.05)
fig.add_axes(ax_cb)
plt.colorbar(image, cax=ax_cb)
Wenn Sie mehrere Diagramme erstellen möchten, ist dieser Compact meiner Meinung nach besser. Beim Generieren mehrerer Figuren
fig = plt.figure()
ax = plt.subplot(311)
Wenn Sie es so bekommen, ist der Rest der gleiche.
Recommended Posts