[英]Pandas not changing legend label
我正在嘗試 plot 我的數據,但是 pandas 使用我需要在圖例中覆蓋的列 label 。 我以為 label 關鍵字會改變這一點,但似乎沒有效果。 谷歌搜索顯示這是 0.15 版本中的錯誤,但我現在有 0.25。 有誰知道解決這個問題的方法?
示例代碼:
x = pd.DataFrame(list(range(2,513, 2)), columns=['x'])
y = pd.DataFrame(np.random.rand(256), columns=['y'])
df = pd.concat([x, y], axis=1)
df = df.set_index(['x'])
df.plot(label='Random')
我希望圖例將“隨機”列為曲線的 label。
似乎標簽是從系列名稱自動創建的。 您可以在繪制之前重命名y
系列作為解決方法,即:
df.y.rename('Random').plot(legend=True)
Pandas 繪圖功能依賴於 matplotlib。 您可以使用標准的 matplotlib 函數來設置標簽、圖例等。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x = pd.DataFrame(list(range(2,513, 2)), columns=['x'])
y = pd.DataFrame(np.random.rand(256), columns=['y'])
df = pd.concat([x, y], axis=1)
df = df.set_index(['x'])
df.plot()
plt.legend(['Random'])
plt.show()
這是幾年前在這里討論過的。
在您的情況下,您需要在 y 軸上指定 plot 的列
x = pd.DataFrame(list(range(2,513, 2)), columns=['x'])
y = pd.DataFrame(np.random.rand(256), columns=['y'])
df = pd.concat([x, y], axis=1)
df = df.set_index(['x'])
df.plot(y='y',label='Random')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.