我正在绘制使用matplotlib和以下代码的熊猫读取的csv。
CSV数据的图像:
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轴之间的空间):
最终,我如何a)阻止matplotlib绘制此“空白数据”或b)使9:00 pm成为图形轴的0点?
非常感谢您的帮助!