我試圖弄清楚如何在 matplotlib 中使用兩個不同的 y 軸值創建散點圖。現在我有一個,需要在 y 上添加第二個索引列值。
points1 = plt.scatter(r3_load["TimeUTC"], r3_load["r3_load_MW"],
c=r3_load["r3_load_MW"], s=50, cmap="rainbow", alpha=1) #set style options
plt.rcParams['figure.figsize'] = [20,10]
#plt.colorbar(points)
plt.title("timeUTC vs Load")
#plt.xlim(0, 400)
#plt.ylim(0, 300)
plt.xlabel('timeUTC')
plt.ylabel('Load_MW')
cbar = plt.colorbar(points1)
cbar.set_label('Load')

我期望的結果是這樣的:

所以第二個散點集應該是 TimeUTC vs index。顏色不是主題;)在excel中y軸也是不同的站點,但沒關系。
感謝您的幫助!謝謝,寶琳娜
uj5u.com熱心網友回復:
在評論中的建議之后繼續。
有兩種使用方式matplotlib。
- 通過
matplotlib.pyplot界面,就像您在原始代碼片段中所做的那樣.plt - 面向物件的方式。這是建議的使用方式
matplotlib,尤其是當您需要更多自定義時,例如您的情況。在您的代碼中,ax1是一個Axes實體。
從一個Axes實體中,您可以使用Axes.plot和方法繪制資料,這與您通過界面Axes.scatter所做的非常相似。pyplot這意味著,您可以撰寫一個Axes.scatter呼叫,而不是.plot使用與原始代碼中相同的引數:
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.scatter(r3_load["TimeUTC"], r3_load["r3_load_MW"],
c=r3_load["r3_load_MW"], s=50, cmap="rainbow", alpha=1)
ax2.plot(r3_dda249["TimeUTC"], r3_dda249.index, c='b', linestyle='-')
ax1.set_xlabel('TimeUTC')
ax1.set_ylabel('r3_load_MW', color='g')
ax2.set_ylabel('index', color='b')
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/473877.html
標籤:Python matplotlib 分散
下一篇:如何創建時鐘極坐標圖?
