python - 创建具有多条线和图例的 Matplotlib 折线图
问题描述
这是我的第一篇文章。我正在尝试为我的数据框中的每个“主题”绘制一个折线图。x 轴是“访问次数”列,y 轴是“dB”列。我也想要一个传奇。数据如下所示:
但是,如果我的数据框仅包含一个主题,我只能使其工作:
plt.plot(test_df['Visit Number'], test_df['dB'], 'b-')
plt.show()
我想要一个情节,每个主题都有一条线。我还希望每个主题在图例中都显示为标签。谢谢。
解决方案
使用 pandas,您可以迭代分组值,因此我建议您迭代子数据集并用标签绘制每个子数据集,然后调用plt.legend()
.
这是我没有完全测试过的代码,所以请谨慎使用,也许下次可以考虑提供一个可用的数据集样本,这样更容易!
for subject, sub_df in testdf.groupby(by='subject'):
plt.plot(sub_df['Visit Number'], sub_df['dB'], label=subject)
plt.legend()
推荐阅读
- java - SVG如何在Java中通过翻译和旋转获取变换的绝对坐标
- c++ - 在字符串数组中动态创建和存储数据
- c# - 使用 MultipleSelectionComboBox 中的值查询 SQL 表
- model - 如何找出 Teiid Designer 源模型中的字段错误
- regex - 正则表达式在 alpine linux 中制作单词驼峰式大小写
- python - 如何忽略添加到 Python 列表中的特定元素
- ionic-framework - Ionic 3: ion- auto-complete - 如何传递除自动完成生成的数据以外的不同数据
- javascript - JavaScript 中的 ul 和 li
- r - ggplot geom_text 接受降价
- excel - Excel将excel日期公式转换为VBA