Python matplotlib.pyplot打印x记号标签花费的时间太长
给定一个如下所示的数据帧:Python matplotlib.pyplot打印x记号标签花费的时间太长,python,matplotlib,Python,Matplotlib,给定一个如下所示的数据帧: Time Value 01-01-2018T10:54:42.1234 1.20 01-01-2018T10:55:10.1234 1.22 ... ... 其中,时间是datatime实例 持续2个月(我们谈论的是15k条) 我试着做一个简单的线图,像这样: x = Data['Time'] y = Data['Value'] fig, ax = plt.subplots(figsize=(12, 9)) plt.xlabel(xlabel, fontsize=
Time Value
01-01-2018T10:54:42.1234 1.20
01-01-2018T10:55:10.1234 1.22
...
...
其中,时间是datatime
实例
持续2个月(我们谈论的是15k条)
我试着做一个简单的线图,像这样:
x = Data['Time']
y = Data['Value']
fig, ax = plt.subplots(figsize=(12, 9))
plt.xlabel(xlabel, fontsize=16)
plt.ylabel(ylabel, fontsize=16)
plt.plot(x, y)
plt.savefig(filename)
fig.clear()
plt.close(fig)
但是它需要花费大量的时间来完成,因为它试图在x
中绘制所有的x记号。
有没有办法在
plt.plt
之前删除刻度,或者更好的办法是,将打印的标签缩短为01-01、02-01、03-01等。。。要节省执行时间?如果“时间”列是文本,则需要将其转换为日期时间first@DizietAsahi这是datetime,但感谢您的观察,我应该将其包含在PostWord中,即使有10万个点,这个图也只需要几秒钟左右就可以显示在我的计算机上。测试代码:导入matplotlib.pyplot作为plt;N=100000;idx=pd.日期范围(开始时间=2000-01-01',频率=1分钟',周期=N);df=pd.DataFrame({'Time':idx,'Value':np.random.random(size=(N,)});plt.figure();plt.plot(df['Time'],df['Value']);plt.show()代码>是,如果列是datetimes,则不会有问题。一定是其他类型的。在打印之前,请检查它是什么,并将其转换为日期时间。您也可以执行Data.plot(x='Time',y='Value',ax=ax)
,但仍然希望Time
列为datetime
类型`