【发布时间】:2021-01-25 07:27:01
【问题描述】:
我有以下数据集,用于绘制线图。该图是作为从数据中获得的值的mean 获得的。我想在该图中添加误差线,以显示标准偏差。我查看了不同的答案,但在大多数答案中,他们明确定义了x 和y,但在这里我直接从数据框中计算图。如何在该图中添加误差线?
数据框 df
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)
输出
编辑(仅绘制一个具有标准偏差的图)
res.iloc[:,2:].mean().plot(kind='line', label = 'A')
plt.errorbar(x = res.columns.values[:-1], y = res.iloc[:,2:].mean(),yerr = res.iloc[:,2:].std())
执行此代码会产生以下错误:
TypeError: 'value' must be an instance of str or bytes, not a int
【问题讨论】:
-
@Roim 在这种情况下,我必须明确指定什么是
x和什么是y,这在我的情况下是不可能的,从代码本身可以看出。能不能借助代码演示一下?
标签: python dataframe matplotlib seaborn data-visualization