簡體   English   中英

用兩個 y 軸繪制數據框

[英]plot dataframe with two y-axes

我有以下數據框:

   land_cover          1         2         3         4         5         6       size
0          20  19.558872  6.856950  3.882243  1.743048  1.361306  1.026382  16.520265
1          30   9.499454  3.513521  1.849498  0.836386  0.659660  0.442690  8.652517 
2          40  10.173790  3.123167  1.677257  0.860317  0.762718  0.560290  11.925280 
3          50  10.098777  1.564575  1.280729  0.894287  0.884028  0.887448  12.647710
4          60   6.166109  1.588687  0.667839  0.230659  0.143044  0.070628  2.160922 
5         110  17.846565  3.884678  2.202129  1.040551  0.843709  0.673298  30.406541 

我想以如下方式繪制數據:
. land_cover 是 x 軸
. cols 1 - 6 應該是每個 land_cover 類(行)的堆疊條形圖
. 並且列“大小”應該是第二個 y 軸,並且可以是每一行的簡單點符號以及連接點的平滑線

有任何想法嗎?

你的代碼很好。 我只添加了兩行

 import matplotlib.pyplot as plt 

 df.plot(x="land_cover", y=[1, 2, 3, 4, 5, 6], stacked=True, kind="bar")
 ax = df['size'].plot(secondary_y=True, color='k', marker='o')
 ax.set_ylabel('size')

 plt.show()

陰謀

一般來說,只需在plot調用中添加一個額外的參數secondary_y=['size']

在這種情況下,由於線條與條形等原因,單獨的plot更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM