gpt4 book ai didi

python - 使用 matplotlib 绘制日期时间输出

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:47 27 4
gpt4 key购买 nike

所以我有这个基于简单数据数组的代码,如下所示:

    5020 : 2015 7 11 11 42 54 782705
5020 : 2015 7 11 11 44 55 575776
5020 : 2015 7 11 11 46 56 560755
5020 : 2015 7 11 11 48 57 104872

情节如下所示:

    import scipy as sp
import matplotlib.pyplot as plt
data = sp.genfromtxt("E:/Python/data.txt", delimiter=" : ")
x = data[:,0]
y = data[:,1]
plt.scatter(x,y)
plt.title("Instagram")
plt.xlabel("Time")
plt.ylabel("Followers")
plt.xticks([w*2*60 for w in range(10)],
['2-minute interval %i'%w for w in range(10)])
plt.autoscale(tight=True)
plt.grid()
plt.show()

我正在寻找一种简单的方法来使用日期时间输出作为图表上的 x 间隔,我无法找到一种方法让它理解它,这就是:

    In [15]:sp.sum(sp.isnan(y))
Out[15]: 77

我猜是因为空格的原因?我是 Python 机器学习新手,请原谅我的无知。

非常感谢。

最佳答案

我将通过直接将 datetime.datetime 对象传递给 pyplot 来解决这个问题。这是一个简短的示例:

import datetime as dt
import matplotlib.pyplot as plt
import matplotlib

# Note: please figure out yourself the data input
x = [dt.datetime(2015,7,11,11,42,54),
dt.datetime(2015,7,11,11,44,56),
dt.datetime(2015,7,11,11,46,56),
dt.datetime(2015,7,11,11,48,57)]

#define the x limit:
xstart= dt.datetime(2015,7,11,11,40,54)
xstop = dt.datetime(2015,7,11,11,50,54)


y = [782705, 575776, 560755, 104872]

fig,ax= plt.subplots()
ax.scatter(x,y)
xfmt = matplotlib.dates.DateFormatter('%D %H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
ax.set_title("Instagram")
ax.set_xlabel("Time")
ax.set_ylabel("Followers")
ax.set_xlim(xstart,xstop)
plt.xticks(rotation='vertical')
plt.show()

结果: enter image description here

关于python - 使用 matplotlib 绘制日期时间输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31360020/

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