Zeichnen einer horizontalen Linie auf mehreren Unterplots in Python mit Hilfe von pyplot
Bin ich Plotten drei Nebenhandlungen auf der gleichen Seite. Ich will zeichnen Sie eine horizontale Linie durch alle Geschichten. Folgendes ist mein code und die resultierende graph: (Sie können feststellen, die ich bekommen kann die horizontale Linie, die auf einer der Parzellen, aber nicht alle)
gs1 = gridspec.GridSpec(8, 2)
gs1.update(left=0.12, right=.94, wspace=0.12)
ax1 = plt.subplot(gs1[0:2, :])
ax2 = plt.subplot(gs1[3:5, :], sharey=ax1)
ax3 = plt.subplot(gs1[6:8, :], sharey=ax1)
ax1.scatter(theta_cord, density, c = 'r', marker= '1')
ax2.scatter(phi_cord, density, c = 'r', marker= '1')
ax3.scatter(r_cord, density, c = 'r', marker= '1')
ax1.set_xlabel('Theta (radians)')
ax1.set_ylabel('Galaxy count')
ax2.set_xlabel('Phi (radians)')
ax2.set_ylabel('Galaxy count')
ax3.set_xlabel('Distance (Mpc)')
ax3.set_ylabel('Galaxy count')
plt.ylim((0,0.004))
loc = plticker.MultipleLocator(base=0.001)
ax1.yaxis.set_major_locator(loc)
plt.axhline(y=0.002, xmin=0, xmax=1, hold=None)
plt.show()
Dieser erzeugt die folgenden:
Wieder, ich will die Zeile ich zog auf die Letzte Nebenhandlung erscheinen auf den ersten zwei Nebenhandlungen zu. Wie mache ich das?
Kommentar zu dem Problem
Im Allgemeinen, desto weniger un-benötigten Informationen (wie Ihre Achsen labels werden Ihre aktuellen Daten), die Ihre Frage enthält, desto besser. Am besten ist es wenn du den code copy-paste-lauffähige.
InformationsquelleAutor der Frage Abhinav Kumar | 2014-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich einen Weg, es zu tun für jeden, der auf stolpert auf diesem sowieso.
Müssen wir ersetzen Sie die folgende Zeile aus dem OP:
Wir ersetzen es mit:
Diese produziert:
InformationsquelleAutor der Antwort Abhinav Kumar
Da Sie definiert haben
ax1
,ax2
undax3
ist es einfach zu zeichnen horizontalen Linien. Sie brauchen, um es separat für Sie. Aber der code kann vereinfacht werden:Laut axhline Dokumentation,
xmin
undxmax
sollte im Bereich (0,1). Es gibt keine chance, dassxmax=3.0
. Da Ihre Absicht ist, zeichnen Sie die horizontale Linie, die über die Achsen (das ist das Standard-Verhalten vonaxhline
- Methode ), können Sie einfach weglassenxmin
undxmax
parameter.InformationsquelleAutor der Antwort jdhao