我运行了多重回归并将系数和标准误差存储到数据框中,如下所示:
我想制作一个图表来显示每个组的系数如何随时间变化,如下所示:
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(14,8))
sns.set(style= "whitegrid")
sns.lineplot(x="time", y="coef",
hue="group",
data=eventstudy)
plt.axhline(y=0 , color='r', linestyle='--')
plt.legend(bbox_to_anchor=(1, 1), loc=2)
plt.show
plt.savefig('eventstudygraph.png')
Run Code Online (Sandbox Code Playgroud)
但我想包含使用主数据集中的“stderr”数据的错误栏。我想我可以使用“plt.errorbar”来做到这一点。但似乎无法弄清楚如何使其发挥作用。目前,我尝试添加 'plt.errorbar 行并尝试不同的迭代:
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(14,8))
sns.set(style= "whitegrid")
sns.lineplot(x="time", y="coef",
hue="group",
data=eventstudy)
plt.axhline(y=0 , color='r', linestyle='--')
plt.errorbar("time", "coef", xerr="stderr", data=eventstudy)
plt.legend(bbox_to_anchor=(1, 1), loc=2)
plt.show
plt.savefig('eventstudygraph.png')
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它似乎正在图表中创建自己的组/线。我想如果我只有一组,我会知道如何使用“plt.errorbar”,但我不知道如何让它适用于 3 个组。有没有某种方法可以制作 3 个版本的“plt.errorbar”,以便我可以分别为每个组创建误差线?或者有更简单的东西吗?
我有一个看起来像这样的数据框:
Person Day Value
1 Mon 32
1 Tue 30
1 Wed 34
1 Thu 22
1 Fri 43
2 Mon 22
2 Wed 14
2 Fri 11
3 Tue 13
3 Wed 22
3 Thu 23
Run Code Online (Sandbox Code Playgroud)
该数据集查看一组人每个工作日(周一至周五)的值。有些人有整整 5 天(例如第 1 个人),有些人只有几天。我想创建新的空行,以便每个人都有完整的 5 天,即使他们没有价值。
这是我想要的输出:
Person Day Value
1 Mon 32
1 Tue 30
1 Wed 34
1 Thu 22
1 Fri 43
2 Mon 22
2 Tue Nan
2 Wed 14
2 Thu Nan
2 Fri 11
3 Mon …Run Code Online (Sandbox Code Playgroud)