Wie drei Linienplots in eine fusionieren, die eine X-Achse teilen, aber haben separate y-Achsen mit matplotlib?

stimmen
0

Ich bin in der Lage, die drei Diagramme in matplotlib fein zu machen, aber nicht sicher, wie gehen sie in eine ganzen Diagramm, das eine einzige X-Achse von Monaten und eine separate y-Achsen zu teilen.

Hier ist der Code, den ich für die drei Graphen, die aus drei verschiedenen CSV-Dateien zeichnen:

import pandas as pd 
import matplotlib.pyplot as plt
#import numpy as np


df = pd.read_csv('1541544819_et.csv', skiprows=4)

ax = df.plot(color=blue,kind='line', legend = False,figsize=(15,6))

ax.set_ylabel(Evapotranspiration (inches))

ax.set_xticks([0,65,125,185,245,305,365])

ax.set_xticklabels(['Jan','Mar','May','Jul','Sep','Nov','Jan'], fontsize = 'large')

plt.show()




df = pd.read_csv('1541544819_rainfall.csv', skiprows=4)

ax2 = df.plot(color=orange,kind='line', legend = False,figsize=(15,6))

ax2.set_ylabel(Rainfall (inches))

ax2.set_xticks([0,65,125,185,245,305,365])

ax2.set_xticklabels(['Jan','Mar','May','Jul','Sep','Nov','Jan'], fontsize = 'large')

ax2.set_yticks([0,2,4,6,8,10])

ax2.set_yticklabels([0.0,0.5,1.0,1.5,2.0,2.5,3.0])

plt.show()





df = pd.read_csv('1541556002_water_level.csv', skiprows=4)

ax3 = df.plot(color=green,kind='line', legend = False,figsize=(15,6))

ax3.set_ylabel(Water Level (ft above NADV88))

ax3.set_xticks([0,65,125,185,245,305,365])

ax3.set_xticklabels(['Jan','Mar','May','Jul','Sep','Nov','Jan'], fontsize = 'large')

ax3.set_yticks([0,2,4,6,8,10])

ax3.set_yticklabels([6.0,6.2,6.4,6.6,6.8,7.0])

plt.show()

Und das führt zu den folgenden Liniendiagramme:

Geben

Jetzt muss ich sie nur verschmelzen zusammen gestapelt auf der jeweils anderen. Mit der gemeinsamen x-Achse von Monaten. Wäre dankbar Hilfe jegliche.

Vielen Dank

Veröffentlicht am 07/11/2018 um 23:57
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Haben Sie versucht, die ersten beiden Aussagen zu beseitigen, die Handlung zu zeigen, zeigen?

plt.show()

Dann entfernen Sie 2/3 der Axt, ax2 und ax3. Sie sollten alle auf die gleiche x-Achse verweisen?

Beantwortet am 08/11/2018 um 00:04
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more