2017-06-29 3 views
-1

Ich möchte ein 3x2 Gitter von Unterplots mit jeweils zwei y-Achse erstellen. Sie sollten alle Achsen teilen. Achse x und y 1 wird durch die Option geteilt, während Nebenhandlungen wie folgt zu erstellen:teilen beide y-Achse in Unterplots

fig, axarray = plt.subplots(3,2, sharex = True, sharey = True) 
z1 = 0 
z2 = 0 
ax = list() 
counter = 0 

for i in range(0,len(x)): 

    axarray[z1,z2].plot(x[i] , y[i]) 
    ax.append(axarray[z1,z2].twinx()) 

    if z2 == 0 : 
     axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], axarray[z1,z2+1]) <-<-<-<- 
    ax[counter].plot(x[i] , y[i] , '-r') 

    counter += 1 
    z2 += 1 
    if z2 == 2: 
     z1 += 1 
     z2 = 0 

im Grunde die folgende Zeile sollte die y2-Achse teilen, wie es mit der anderen Achse, zwischen allen Nebenhandlungen (gefunden in einem älteren Thread erfolgt), es aktualisiert nur die Skalierung der Achse. z1 und z2 definieren die Position des Diagramms.

axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], axarray[z1,z2+1]) 

Gibt es eine andere Möglichkeit, die y2-Achse zu teilen, da es leider keine Option für die subplot Funktion ist?

I get the following

Mit freundlichen Grüßen

Antwort

0

Die Linie

axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], ax[counter]) 

lesen sollte, weil Sie axarray[z1,z2] mit den neu erstellten TwinX Achsen und nicht einige nächsten Achsen teilen möchten.

enter image description here

Lassen Sie mich auf den ursprünglichen Achsen nur sagen, dass die y-Achse eines TwinX teilen nicht wirklich nützlich ist, können Sie den gleichen Effekt erhalten, indem nur die richtigen ticklabels aktivieren.

+0

Ich möchte die y-Achse des Twinx von allen Plots der ersten Spalte mit denen der zweiten teilen. Deshalb habe ich versucht, es mit dem Plot mit demselben z1, aber z2 = 1 zu teilen (z2 == 0 <- die erste Spalte). –

+0

Ich habe Probleme, das ganze Problem zu verstehen. Die erstellte Handlung sieht gut aus für mich; Was genau ist das Problem? – ImportanceOfBeingErnest

+0

Die Unterplots teilen sich die x- und y1-Achse. Wenn die y2-Achse geteilt wird, gibt es zwischen den Plots keine Beschriftung (ich weiß nicht das genaue Wort), wie es zwischen den Plots in Spalte 1 der Fall ist. Danke übrigens für Ihre Hilfe. –

Verwandte Themen