2013-07-22 18 views
8

Sử dụng Pandas để vẽ trong sổ ghi chép I-Python, tôi có một số ô và vì Matplotlib quyết định trục Y, thiết lập chúng khác nhau và chúng ta cần so sánh dữ liệu đó bằng cùng phạm vi. Tôi đã thử một số biến thể trên: (Tôi giả sử tôi sẽ cần phải áp dụng các giới hạn cho mỗi cốt truyện .. nhưng kể từ khi tôi không thể có được một làm việc ... Từ Matplotlib doc có vẻ như tôi cần phải thiết lập ylim, nhưng không thể tìm cú pháp để làm như vậy.Thiết lập Yaxis trong Matplotlib bằng cách sử dụng Pandas

df2250.plot(); plt.ylim((100000,500000)) <<<< if I insert the ; I get int not callable and if I leave it out I get invalid syntax. anyhow, neither is right... 
df2260.plot() 
df5.plot() 

Trả lời

23

Pandas lô() trả về trục, bạn có thể sử dụng nó để thiết lập các ylim trên đó.

ax1 = df2250.plot() 
ax2 = df2260.plot() 
ax3 = df5.plot() 

ax1.set_ylim(100000,500000) 
ax2.set_ylim(100000,500000) 
etc... 

bạn cũng có thể vượt qua một trục để Biểu đồ Pandas, do đó, vẽ đồ thị trong cùng một trục có thể được thực hiện như:

ax1 = df2250.plot() 
df2260.plot(ax=ax1) 
etc... 

Nếu bạn muốn có một rất nhiều lô khác nhau, xác định các trục trên forehand và trong vòng một con số có thể là một giải pháp cung cấp cho bạn kiểm soát nhất:

fig, axs = plt.subplots(1,3,figsize=(10,4), subplot_kw={'ylim': (100000,500000)}) 

df2260.plot(ax=axs[0]) 
df2260.plot(ax=axs[1]) 
etc... 
+0

Perfect, Cảm ơn bạn rất nhiều! – dartdog

+1

Bạn cũng có thể thêm 'sharey = True' vào' plt.subplots'. Sau đó, các giới hạn y sẽ giữ nguyên ngay cả khi bạn phóng to trên một subplot cụ thể. – esmit

+0

Thật vậy, điểm tốt! –