簡體   English   中英

Pandas 不改變圖例 label

[英]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.

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