如何解决Matplotlib绘制Pandas系列空白数据的问题

时间:2019-08-01 22:09:19

标签: python python-3.x pandas matplotlib jupyter-notebook

我正在绘制使用matplotlib和以下代码的熊猫读取的csv。

CSV数据的图像:

enter image description here

fig, ax = plt.subplots(figsize=(10, 10))

plt.plot(dat['Forecast Hour'].iloc[0:45], dat['Forecasted End Time'].iloc[0:45],'b', marker='o')

plt.plot(dat['Forecast Hour'].iloc[0:46], dat['Forecasted Start Time'].iloc[0:46], 'r', marker='o')

bar = plt.bar(dat['Forecast Hour'].iloc[8:46], dat['Forecasted Event Length'].iloc[8:46], width=.8, color='gainsboro')

ax.tick_params(which='major',labelsize='12')
ax.grid(which='major', color='#CCCCCC', linestyle='-')
plt.xticks(rotation='90')
plt.xlabel('Forecast Run')
plt.ylabel('Forecasted Start/End Time')
plt.legend()
ax3 = ax.twinx()
mn, mx = ax.get_ylim()
ax3.set_ylim(0, 12)
ax3.set_ylabel('Forecasted Event Length')

当我尝试运行以下代码时,我收到错误消息:

  

ValueError:无法将字符串转换为float:“ 11:00 PM”

当我使用以下命令将Nan值转换为空格时:

dat = dat.replace(np.nan, '', regex=True)

数据将绘制出来,但也包括空白数据,如下所示(晚上9:00和x轴之间的空间):

图形数据的图像 enter image description here

最终,我如何a)阻止matplotlib绘制此“空白数据”或b)使9:00 pm成为图​​形轴的0点?

非常感谢您的帮助!

0 个答案:

没有答案