我想将数据制成散点图(x轴:时间,y轴:传感器值)。以下代码是测试用的。
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
# generate time series randomly (length: 1 month)
rng=pd.date_range("2015-11-11",periods=288*30,freq="5min")
ts=pd.Series(np.random.randn(len(rng)),rng)
nr=3
nc=1
fig=plt.figure(1)
fig.subplots_adjust(left=0.04,top=1,bottom=0.02,right=0.98,wspace=0.1,hspace=0.1)
for i in range(3):
ctr=i+1
ax=fig.add_subplot(nr,nc,ctr)
ax.scatter(ts.index,ts.values)
ax.set_xlim(ts.index.min(),ts.index.max())
plt.show()
我生成了一组随机时间序列数据,共有288*30个观测值,并尝试将其绘制成散点图。然而,正如您所看到的,分析这张图是不可能的。
我希望你能满足以下条件重新绘制内容:
我希望有一个放大的图像版本,即一段时间范围内(例如2-3小时)的某些数据点一次性显示出来。然后,相邻点之间应有足够的空间。
我想把图形保存为png或pdf文件。然后,如果我打开文件,图像(或pdf)查看器会有一个水平滚动条,使我可以浏览整个图形。
有人能解决吗?
对于matplotlib专家来说,我不认为这很难,但对于我这个初学者来说确实很难。