如何在matplotlib中添加中断的时间序列

时间:2017-03-17 09:30:11

标签: python-2.7 matplotlib

由于我只是一个蟒蛇初学者,我希望,我对你的问题不会太烦恼。我想从数据集中仅绘制时间序列的一部分,例如:

代码:

import numpy as np
import matplotlib.pyplot as plt
a=np.arange(10)
b=np.arange(100, 105)
c=np.arange(30, 40)
d=np.arange(55, 60)
e=np.append(a,b)
f=np.append(c,d)
plt.plot(e,f)    

简介:

enter image description here

然后我得到一个数据系列之间有一条长对角线的图。怎么做才能摆脱它,换句话说我想要的是x轴只显示0,1,2,3,4,5,6,7,8,9,100,101,102,103,104和相应的y值之间没有任何关系。此外,如果我有很长的时间序列(例如来自示波器测量),是否有可能显示某些模式是重复的,例如,情节中间的大点?我试图将x数据转换为字符串和其他几个东西,但它似乎不起作用。

1 个答案:

答案 0 :(得分:0)

关注这部分问题:

  

然后我得到一个数据系列之间有一条长对角线的图。该怎么做才能摆脱那个[...]

听起来散点图应该满足您的需求,所以试试这个:

将此添加到您的代码中:

fig, ax = plt.subplots()
ax.scatter(e, f)

for i, txt in enumerate(e):
    ax.annotate(txt, (e[i],f[i]))

fig.show()

获得这个情节:

enter image description here

不幸的是,我不太确定你要用这部分来完成什么:

  

此外,如果我有很长的时间序列(例如来自示波器   测量)

无论如何,我希望我的建议至少可以解决问题的主要部分。