3 回答
TA贡献1804条经验 获得超7个赞
sns.pointplot()不仅仅用于在同一图中绘制多个数据框属性,而是用于可视化它们之间的关系,在这种情况下,它将生成自己的标签。您可以通过将labels参数传递给ax.legend()(请参阅将图例添加到 Seaborn 点图)来覆盖它们,但是一旦您对图进行了更改,很可能会出现一些混乱。
要使用 seaborn 美学生成您的图,我会这样做:
sns.set_style("white")
fig, ax = plt.subplots()
plt.plot(dx.index, dx.c0, "o-", ms=3,
color="r", label='child')
plt.plot(dx.index, dx.c1, "o-", ms=3,
color="g", label='teen')
ax.legend()
结果:
TA贡献1793条经验 获得超6个赞
在您的情况下, ylabel 已设置为c0,因此不需要图例。
如果你坚持传奇,我建议不要使用sns。相反,尝试使用熊猫的 matplotlib 接口
dx = pd.DataFrame({'c0':range(5), 'c1':range(5,10)})
dx.set_index('c0').plot(marker='o', )
或者直接使用 matplotlib 的 API 更灵活
plt.plot(dx.c0, dx.c1, marker='o', label='child')
plt.legend()
添加回答
举报