亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Matplotlib 在 Python 中繪制兩個不同的 Y 軸

使用 Matplotlib 在 Python 中繪制兩個不同的 Y 軸

天涯盡頭無女友 2023-03-08 17:25:13
使用以下代碼作為示例,我創建了一個名為數據集的數據框。value1 = np.random.random(100)*30value2 = np.random.random(100)*30value3 = np.random.random(100)*30value4 = np.random.random(100)*1000dataset = pd.DataFrame({'value1': value1, 'value2': value2, 'value3': value3, 'value4': value4}, columns=['value1', 'value2', 'value3', 'value4'])dataset[['value1', 'value2', 'value3']].plot(figsize=(20,10), linewidth=2, fontsize = 20, grid=True, marker="o", label='a').legend(loc='upper center', bbox_to_anchor=(0.5, -0.12),           ncol=12, prop={'size': 16});dataset['value4'].plot(secondary_y=True, legend=True, linewidth=2, marker="o",)plt.xlabel('Year',fontsize=20)plt.ylabel('(b)',fontsize=20)我在 2 軸上繪制此數據集,但出于某種原因,只打印出右側的軸,但未打印左側的軸,我不確定為什么。其次,我還試圖查看 value1、2、3 如何響應變量 4(value4),所以我希望顯示的圖如下圖所示。在圖像中,我們可以看到變量 4 位于圖表底部,其余變量位于頂部,因此我們可以清楚地看到變量 4 的上升或下降如何影響變量 1、2、3。Currenly 顯示屏顯示所有所有變量混合在一起,但我希望它看起來像下圖。任何幫助都會很棒,謝謝
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

你的代碼是正確的。它們分別繪制在兩個軸的范圍內。如果您想將它與您的預期輸出相匹配,您可以使用ax1.set_ylim(-30,30)or ax 2.set_ylim(0,4000)。


ax1 = dataset[['value1', 'value2', 'value3']].plot(figsize=(20,10),

                                             linewidth=2, fontsize = 20,

                                             grid=True, marker="o", label='a')

ax1.legend(loc='upper center', bbox_to_anchor=(0.5, -0.12), ncol=12, prop={'size': 16});


ax2 = dataset['value4'].plot(secondary_y=True,legend=True, linewidth=2, marker="o",)


ax1.set_ylim(-30,30)

ax2.set_ylim(0,4000)


ax1.set_xlabel('Year',fontsize=20)

ax2.set_ylabel('(b)',fontsize=20)

http://img1.sycdn.imooc.com//640854aa0001267c06590322.jpg

查看完整回答
反對 回復 2023-03-08
  • 1 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號