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

时间:2015-10-08 16:44:38

标签: python pandas matplotlib dataframe labels

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

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

但得到了这个:

enter image description here

我不想将两行标记为['a','b'],而是希望蓝线为a,绿色为b pylab

1 个答案:

答案 0 :(得分:4)

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

以下是一个例子,我在这种情况下使用了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()

enter image description here

修改

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()