Python 在同一图形上绘制各种实验的持续时间-Matplotlib
我在这方面已经有一段时间了(差不多一个星期),我真的非常感谢你在这方面的帮助。我有一个数据库,里面有几个实验的读数。以下是数据示例:Python 在同一图形上绘制各种实验的持续时间-Matplotlib,python,datetime,matplotlib,duration,Python,Datetime,Matplotlib,Duration,我在这方面已经有一段时间了(差不多一个星期),我真的非常感谢你在这方面的帮助。我有一个数据库,里面有几个实验的读数。以下是数据示例: id datetime results 0 30 2020-09-29 14:55:21+00 0.0424 1 30 2020-09-29 14:55:23+00 0.0424 2 30 2020-09-29 14:55:24+00
id datetime results
0 30 2020-09-29 14:55:21+00 0.0424
1 30 2020-09-29 14:55:23+00 0.0424
2 30 2020-09-29 14:55:24+00 0.0424
3 30 2020-09-29 14:55:25+00 0.0424
4 30 2020-09-29 14:55:26+00 0.0424
5 30 2020-09-29 14:55:27+00 0.0424
当我以datetime作为x轴,以结果作为y轴,将所有图形绘制在一起时,看起来都很棒
现在,能够相互比较不同的实验是非常重要的。我所做的是,我尝试通过使用每个id的最小datetime来获得持续时间,然后从每个datetime中减去它。每个实验的第一个持续时间为00:00:00
现在我们有几个实验,持续一天以上,所以我试着做两件事:
def plot_graph(df, x_column, y_column):
fig, ax = plt.subplots()
for exp_id in unique_experiments:
ax.plot(df[x_column][df["id"] == exp_id], df[y_column][df["id"] == exp_id],
label=exp_id)
ax.legend()
ax.xaxis.set_major_locator(plt.MaxNLocator(10))
plt.xticks(rotation=315)
plt.show()
乍一看,我会说为什么要把它画成一个折线图?散点图更有意义,不是吗?如果您坚持使用该行,我怀疑您将不得不重置df的索引以表示排序顺序(通过timedelta)。