python - 使用 y 选项时将图例添加到 pandas.dataframe.plot

标签 python pandas matplotlib plot

如果我将 DataFrame 绘制为

df.plot()

然后每一行出现在图例中,标识它对应的列,正如它应该的那样。但是,如果我将其绘制为

df.plot(x=0, y=[2,3])

然后一切都正常绘制,但是没有图例标识哪一行是哪一列。

我已经尝试过

df.plot(x=0, y=[2,3], label=['2','3'])
df.plot(x=0, y=[2,3], legend=['2','3'])

但没有任何效果。唯一的解决方法是设置

plt.legend(['2','3'])

之后,但我不确定图例列表的顺序与 pandas 用于绘图的顺序相同,所以我不知道图例是否真的与线条匹配。有没有办法让 pandas 绘制出这种情况下的图例?

我使用的是 pandas 0.14。

最佳答案

正如 @unutbu 所写,这对于当前版本的 Pandas 来说效果很好。然而,在旧版本中,我发现将 DataFrame“缩小”到相关列更容易。

例如,假设您有

df = pd.DataFrame({'a': [10, 2], 'b': [2, 3], 'c': [1, 3], 'd': [4, 5]})

然后将 'b''c' 绘制为 'a' 的函数:

df[['a', 'b', 'c']].plot(x='a');

您可以免费订购图例。

关于python - 使用 y 选项时将图例添加到 pandas.dataframe.plot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35529497/

相关文章:

python - Python 中的快速数值积分

python - 错误 key "axes.prop_cycle"在 matplotlib (Python) 中使用 mplstyle 时出错

python - Pandas :难以理解合并的工作原理

python - 在 Python SKLEARN 中保存混淆矩阵

python - 如何从 pandas 样式对象中的日期时间列中删除时间戳

python - 两点之间的曲线方程,而曲线极限由两点定义

python - 如何提高 python 绘图的速度?

python - 过滤 Pandas 数据框聚合

python - 如何删除 Cartopy/Matplotlib 图周围的框架和轴?

python - 在 python 中使用 matplotlib 制作自定义颜色图