Seite 1 von 1

colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 16:12
von möppi
Hi,

Ich habe eine Funktion geschrieben, die ein Figure-Objekt ausgeben soll:

Code: Alles auswählen

def color_plot(x,y,z,x_label="x",y_label="y",z_label="z"):
    f=Figure()
    a=f.add_subplot(111)
    a.pcolormesh(x,y,z.T)
    a.set_xlabel(x_label)
    a.set_ylabel(y_label)
    return f
Ich bin schon länger am überlegen, wie ich einen Color-Bar einfügen kann, also eine Skala für die Farbkodierung. Kann mir jemand weiter helfen?

Re: colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 16:30
von MagBen
Hier ist ein Beispiel mit pcolormesh und colorbar:
http://www.python-forum.de/viewtopic.php?f=1&t=34871

Re: colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 16:40
von MagBen
oder in Deinem Code (ungetestet):

Code: Alles auswählen

def color_plot(x,y,z,x_label="x",y_label="y",z_label="z"):
    f=Figure()
    a=f.add_subplot(111)
    pcolormesh=a.pcolormesh(x,y,z.T)
    f.colorbar(pcolormesh, orientation="vertical")
    a.set_xlabel(x_label)
    a.set_ylabel(y_label)
    return f

Re: colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 16:42
von möppi
MagBen hat geschrieben:Hier ist ein Beispiel mit pcolormesh und colorbar:
http://www.python-forum.de/viewtopic.php?f=1&t=34871
Der Fragesteller unter diesem Link war ich ;) und du hattest mir auch einen sehr hilfreichen Tipp gegeben. Allerdings ist es diesmal etwas anderes. Ich weiß einfach nicht wie man wie man einem Figure-Objekt ein Colorbar zuordnet. Die Syntax wäre sowas wie:

Code: Alles auswählen

 f.colorbar(irgendwelche komischen Argumente)

Re: colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 17:07
von möppi
MagBen hat geschrieben:oder in Deinem Code (ungetestet):

Code: Alles auswählen

def color_plot(x,y,z,x_label="x",y_label="y",z_label="z"):
    f=Figure()
    a=f.add_subplot(111)
    pcolormesh=a.pcolormesh(x,y,z.T)
    f.colorbar(pcolormesh, orientation="vertical")
    a.set_xlabel(x_label)
    a.set_ylabel(y_label)
    return f
Vielen Dank. Ich werde es nachher mal aussprobieren, wenn ich am PC sitze. Ein bisschen komisch finde ich die Zeile:

Code: Alles auswählen

pcolormesh=a.pcolormesh(x,y,z.T)
Kannst du mir mal erklären, was genau das bedeuted?

Re: colorbar bei Figure-Objekten

Verfasst: Dienstag 11. November 2014, 17:34
von MagBen
Axes.pcolormesh erzeugt ein pcolormesh und gibt ein Objekt zurück. Das Zurückgegebene Objekt habe ich pcolormesh genannt. (Es ist vom Typ matplotlib.collections.QuadMesh.) Du brauchst dieses Objekt um es an die Methode Figure.colorbar zu übergeben.