matplotlib titel linksbuendig mit y-Achsen label

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
capybara
User
Beiträge: 4
Registriert: Dienstag 18. Mai 2010, 10:36

Hallo,
ich hoffe, jemand kann mir helfen, ich komm bei einem Probelm mit matplotlib nicht weiter...

Ich moechte 2 figures nebeneinander plotten und sie mit 'A' und 'B' benennen. Die Labels 'A' und 'B' sollen buendig mit der y-Achsenbeschriftung sein. plt.text(0,1,'A'...) setzt mir 'A' leider nur buendig mit der Box des Plots.
Hier ist mein Code:

Code: Alles auswählen

import scipy
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(121)
plt.plot(scipy.sin(scipy.arange(1,100, 0.001)))
plt.xlabel('xlabel')
plt.ylabel("ylabel")
plt.text(0,1,"A", fontsize=14, transform=ax.transAxes) 
#plt.title("A", horizontalalignment='left')
                                                                                                                                                                                    
ax = fig.add_subplot(122)
plt.plot(scipy.cos(scipy.arange(1,100, 0.001)))
plt.text(0,1,"B", fontsize=14, transform=ax.transAxes) 
plt.xlabel('xlabel')
Kennt jemand eine Loesung, wie ich die Buchstaben 'A' und 'B' weiter nach links und ein wenig weiter nach oben ruecken kann ohne
dass ich die Koordinaten von Hand der text()-Funktion uebergeben muss (Ich will eine Reihe von Plots machen und will nicht fuer jeden Plot die
Koordinaten neu suchen; Daher will ich das Plotten von 'A', 'B', 'C', etc. fuer Multipanel-plots automatisieren.)?

Ich hoffe mein Probelm ist verstaendlich,

vielen Dank im Voraus!

Hannes
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo und Willkommen im Forum,

du kannst in "ax.text" auch Werte kleiner 0.0 bzw. größer 1.0 angeben. Dann liegt der Text außerhalb der Achsen. Wenn dir das nicht reicht musst du mal schauen nach welchem System Matplotlib die "ylabel" setzt und dir dort was abschauen.

Grüße
Gerrit
capybara
User
Beiträge: 4
Registriert: Dienstag 18. Mai 2010, 10:36

Hallo Gerrit,
ich habs ausprobiert und es klappt sehr gut!

Viele Gruesse

Hannes
Antworten