我想在数据框中绘制数据并将列标题作为标签。我试过这个:
dfm.columns = ['a','b']
plot(dfm.cumsum(), label= dfm.columns.values)
legend(loc='upper left')
但得到了这个:
我不想将两行标记为['a','b'],而是希望蓝线为a,绿色为b pylab
答案 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()
修改强>
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()