Python Matplotlib线图不指示标签
我有以下数据集,我想从中获得线形图。虽然我在代码中提供了标签名称,但绘图是正确的,但缺少标签。请为我提供一个包含标签的方法。另外,如果我试图在代码中包含xlabel和ylabel,则会出现错误Python Matplotlib线图不指示标签,python,dataframe,matplotlib,seaborn,Python,Dataframe,Matplotlib,Seaborn,我有以下数据集,我想从中获得线形图。虽然我在代码中提供了标签名称,但绘图是正确的,但缺少标签。请为我提供一个包含标签的方法。另外,如果我试图在代码中包含xlabel和ylabel,则会出现错误AttributeError:'Line2D'对象没有属性“xlabel” 数据帧分辨率 UserId | date |-7|-6|-5|-4|-3|-2|-1|0 |1 |2 |3 |4 |5 |6 |7 1 2009-10-17 17:38
AttributeError:'Line2D'对象没有属性“xlabel”
数据帧分辨率
UserId | date |-7|-6|-5|-4|-3|-2|-1|0 |1 |2 |3 |4 |5 |6 |7
1 2009-10-17 17:38:32.590 |0 |0 |0 |0 |0 |0 |1 |0 |1 |0 |0 |0 |0 |0 |0
2 2009-10-19 00:37:23.067 |0 |0 |0 |0 |0 |1 |1 |0 |1 |0 |0 |0 |0 |0 |0
3 2009-10-20 08:37:14.143 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |0 |0
4 2009-10-21 18:07:51.247 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |0 |0
5 2009-10-22 21:25:24.483 |0 |0 |0 |0 |0 |0 |1 |0 |0 |0 |0 |0 |0 |0 |0
代码
badges = ["A", "B", "C"]
for badge in badges:
res.iloc[:,2:].mean().plot(kind='line', label = badge)
输出
这是从该代码获得的输出。我希望所有三行的标签都出现在图表中。除此之外,我还想在轴上添加xlabel=“Week”和ylabel=“Mean Posts”。显示图例和轴标签所需的基本功能包括
plt.legend
、plt.xlabel
和plt.ylabel
。下面是一个独立的示例。如果看不到代码的所有相关部分,就很难更加具体
导入matplotlib.pyplot作为plt
x=[1,2,3]
y1=[4,5,6]
y2=[7,8,9]
plt.绘图(x,y1,“b”,label=“y1”)
plt.绘图(x,y2,“r”,label=“y2”)
plt.legend()
plt.xlabel(“x”)
plt.ylabel(“y”)
plt.savefig(“温度”)
您可以将所有参数(如
plt.legend()
,plt.xlabel
,plt.ylabel
,plt.xticks
等)保留在for
循环的之外
试试这个:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
badges = ["A", "B", "C"]
for badge in badges:
res.iloc[:,2:].mean().plot(kind='line', label = badge)
plt.ylabel('y',size=20,weight='bold')
plt.xlabel('x',size=20,weight='bold')
plt.legend(frameon=False, prop={'size':15})
plt.show()
此外,如果您希望为每个徽章
创建3个单独的绘图,则将该部分从plt.ylabel()
移动到循环内部的plt.show()
。xlabel或ylabel参数仅在1.1.0版中可用。或以上。
参考文件
您获得AttributeError的原因是:“Line2D”对象没有属性“xlabel”,因为您可能有更低版本的pandas
您可以通过运行以下命令来检查版本
将熊猫作为pd导入
打印(pd.\U版本\U)
现在,要放置x_标签/y_标签,您可以执行以下操作:
导入matplotlib.pyplot作为plt
图,ax=plt.子批次()
对于徽章中的徽章:
res.iloc[:,2:].mean().plot(kind='line',label=badge,ax=ax)
ax.set_ylabel('y'))
ax.set_xlabel('x')
ax.图例()
plt.show()