在 pylab.plot 中使用数据框列名称作为标签

Use dataframe column names as labels in pylab.plot

我想在数据框中绘制数据,并将列 headers 作为标签。我试过这个:

dfm.columns = ['a','b']
plot(dfm.cumsum(), label= dfm.columns.values)
legend(loc='upper left')

但是得到了这个:

我不想将两条线都标记为 ['a','b'],我希望使用 pylab[=14 将蓝线标记为 a,将绿色标记为 b =]

我认为这是您在未显示的部分代码中设置数据的方式。

这是一个例子,我在这个例子中使用了df.plot()

import pandas as pd
import random
import matplotlib.pyplot as plt

x = [random.randint(10,20) for r in range(100)]
y = [random.randint(0,10) for r in range(100)]

df = pd.DataFrame([x,y]).T #T for transpose

df.columns=['a','b']

df.plot(kind='line')

plt.legend(loc='upper left')

plt.show()

编辑

pylab版本

import pandas as pd
import random
import matplotlib.pylab as plt

x = [random.randint(10,20) for r in range(100)]
y = [random.randint(0,10) for r in range(100)]

df = pd.DataFrame([x,y]).T

plt.plot(df)

plt.legend(['a','b'],loc='upper left')

plt.show()