gpt4 book ai didi

python - 用 timedelta 系列绘制直方图

转载 作者:行者123 更新时间:2023-12-04 07:29:11 27 4
gpt4 key购买 nike

我有一些数据系列,这是一种 timedelta 数据类型。我想将这些 timedelta 绘制成条形图,其中 y 轴应仅以小时为单位而不是其他格式进行标记。以前,当我在 matplotlib 中尝试绘制线图时,它显示了一些无法理解的数字。以下是我的 timedelta 系列 Pandas 的示例:

date
2020-04-11 0 days 02:00:00
2020-04-12 0 days 03:00:00
2020-04-13 0 days 02:00:00
2020-04-14 0 days 03:00:00
2020-04-15 0 days 01:00:00
2020-04-16 0 days 03:00:00
Freq: D, dtype: timedelta64[ns]
当我试图在 matplotlib 中绘制它时,它会导致一个带有 y 轴值的图对我来说看起来很奇怪。
enter image description here
请帮我算出图表,y 轴刻度标签应该在 01:00 中。 , 02:00喜欢格式。
急切地等待一些帮助。

最佳答案

一种可能的方法是以秒为单位转换增量并定义 FuncFormatter .
这是我的测试系列和我的最终情节:

2020-04-11   02:00:00
2020-04-12 03:00:00
2020-04-13 05:00:00
dtype: timedelta64[ns]
def delta(x, pos):
out = str(datetime.timedelta(seconds=x) )
return out

fig = plt.figure()
ax = fig.gca()
form = matplotlib.ticker.FuncFormatter(delta)
ax.yaxis.set_major_formatter(form)
ax.plot(s.index, s/np.timedelta64(1,'s'))
ax.set_yticks(s/np.timedelta64(1,'s'))
ax.set_xticks(s.index)
plt.show()
enter image description here

关于python - 用 timedelta 系列绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68041527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com