Python:Matplotlib避免绘制间隙

xu3bshqb  于 2023-01-13  发布在  Python
关注(0)|答案(2)|浏览(150)

我目前正在生成下面的图:

使用此代码:

ax = plt.subplots()
ax.plot(intra.to_pydatetime(), data)
plt.title('Intraday Net Spillover')
fig.autofmt_xdate()

其中intra.to_pydatetime()是a:<bound method DatetimeIndex.to_pydatetime of <class 'pandas.tseries.index.DatetimeIndex'> [2011-01-03 09:35:00, ..., 2011-01-07 16:00:00] Length: 390, Freq: None, Timezone: None>
因此,日期从2011-01-03 09:35:00开始,以5分钟递增,直到16:00:00,然后跳到第二天,2011-01-04 09:35:00直到2011-01-04 16:00:00,依此类推。
如何避免绘制第二天16:00:00和9:30:00之间的间隔?我不想看到这些直线。
更新:
我将尝试this,看看它是否工作。

iyr7buue

iyr7buue1#

只需将定义不想看到的线的两个值设置为NaN(非数字)。Matplotlib将自动隐藏两个值之间的线。
看看这个例子:http://matplotlib.org/examples/pylab_examples/nan_test.html

jgzswidk

jgzswidk2#

尝试对 Dataframe 重新采样。例如:

df.plot()

得出了这样的结论:plot
现在是重采样:

df = df.resample('H').first().fillna(value=np.nan)

plot after resample

相关问题