Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels)

加入好友
加入社群
Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王
import matplotlib.pyplot as plt
import pandas as pd

# 示例数据
x = [1, 2, 3, 4, 5]
y = pd.DataFrame({
    'Data1': [2, 4, 6, 8, 10],
    'Data2': [3, 6, 9, 12, 15],
    'Data3': [1, 3, 5, 7, 9]
})

# 绘制图形
fig, ax = plt.subplots()
lines = ax.plot(x, y)
labels = y.columns.tolist()
ax.legend(lines, labels)
plt.show()

輸出結果:

Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

lines = ax.plot(x, y)

Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

df = pd.DataFrame(y, index=x)
y的原index= 0~4
要改為x (1~5)
沒有完全match
原本index = 0的那一row被刪除了
多了index = 5的那一row,內容為NaN

Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

ax=df.plot()

Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

自動加上欄標籤當legend

y.index=x
這方法才不會刪除
index不match的row 資料

Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python: matplotlib.pyplot ; lines = ax.plot(x, y) ; 如果y是2D的 pandas.DataFrame ; 如何一次加入所有欄標籤當作圖例(legend)的labels? labels= y.columns.tolist() ; ax.legend(lines, labels) - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *