Ich möchte die Matplotlib Colorbar Bereich festlegen. Hier ist, was ich bis jetzt habe:Einstellung matplotlib colorbar Bereich
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(20)
y = np.arange(20)
data = x[:-1,None]+y[None,:-1]
fig = plt.gcf()
ax = fig.add_subplot(111)
X,Y = np.meshgrid(x,y)
quadmesh = ax.pcolormesh(X,Y,data)
plt.colorbar(quadmesh)
#RuntimeError: You must first define an image, eg with imshow
#plt.clim(vmin=0,vmax=15)
#AttributeError: 'AxesSubplot' object has no attribute 'clim'
#ax.clim(vmin=0,vmax=15)
#AttributeError: 'AxesSubplot' object has no attribute 'set_clim'
#ax.set_clim(vmin=0,vmax=15)
plt.show()
Wie setze ich die colorbar Grenzen hier?
Ich würde wirklich gerne ein tieferes Verständnis gewinnen, wie diese API tatsächlich funktioniert. Wenn mir jemand erklären kann, warum 'ax.set_xlim' funktioniert, aber' ax.set_clim' nicht vom Standpunkt der API funktioniert, würde ich es gerne hören (und ich bin mir sicher, dass andere viel bessere Antworten finden können - Also bitte erkläre mehr, wenn du kannst!) – mgilson
Ich bin mir nicht sicher, ob das deine Frage beantwortet, aber wenn du 'quadmesh .__ class __. Mro()' betrachtest, wirst du sehen, dass die Klasse der quadmesh das 'ScalarMappable' Mixin hat . Wenn Sie in 'matplotlib/cm.py' nachsehen, sehen Sie, dass es der" ScalarMappable "-Mix ist, der das Colormapping verarbeitet, und bietet insbesondere die Methode' set_clim'. – unutbu
Jeder (ScalarMappable) Künstler steuert seine eigene Farbe. Die Farbleiste ist an eine ScalarMappable (durch den Aufruf "plt.colorbar (quadmesh)") angehängt. Das Colormapping des Künstlers steuert also das Colormapping der Farbleiste. Es ist kein Axes-weites Colormapping. Daher hat "ax" kein Attribut "set_clim". – unutbu