在 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()
我想在数据框中绘制数据,并将列 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()