TPM*_*TPM 2 python matplotlib labels dataframe pandas
我想在一个数据框中绘制数据,并将列标题作为标签。我尝试了这个:
dfm.columns = ['a','b']
plot(dfm.cumsum(), label= dfm.columns.values)
legend(loc='upper left')
Run Code Online (Sandbox Code Playgroud)
但是得到这个:
而不是将两行都标记为['a','b'],我希望蓝线是a,绿色是b,使用 pylab
我认为这是您在未显示的代码中设置数据的方式。
这是我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()
Run Code Online (Sandbox Code Playgroud)
编辑
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()
Run Code Online (Sandbox Code Playgroud)