无法在matplotlib上绘制图表

时间:2017-07-05 06:59:22

标签: python matplotlib

我是Python的新手,我在matplotlib上绘制图表时遇到了一些问题,希望大家都能帮到我。

所以我有一个显示给定年份温度的DataFrame。

    01-01    334
    01-02    320
    01-03    330
    01-04    331
    01-05    328
          .
          .
          .
    12-27    318
    12-28    320
    12-29    320
    12-30    325
    12-31    334

当我尝试使用以下代码绘制它时:

 dates = pd.date_range('1/1/2015','31/12/2015', freq = 'D')
 yvals = list(df.values)
 plt.figure()
 plt.plot(dates,'-', yvals, '-')

它只返回一个没有点或线的白色数字。

我该如何解决这个问题?非常感谢你!

4 个答案:

答案 0 :(得分:0)

我们不清楚您的item1,item2,probablility a,b,1 a,b,0.3 b,c,0.3 a,d,0.3 b,c,0.3 a,e,0.3 b,3,0.3 是什么,但我怀疑它是您的第二个DataFrame列? 在这种情况下,您可以使用DataFrame.plot()方法。

答案 1 :(得分:0)

如果您使用matplotlib,则可以尝试使用plt.show()

plt.figure()
sample_image = plt.plot(x,y)
plt.imshow(sample_image) 
plt.show()  # display it

注意:请注意,您无需显示图片以进行保存。

plt.savefig('image.png')

答案 2 :(得分:0)

您应该将日期转换为数字,或使用plt.plot_dates:

dates = pd.date_range('1/1/2015' ,'31/12/2015', freq = 'D')
yvals = np.linspace(1,366,365)
plt.plot_date(dates ,yvals)
plt.show() 

(我不知道你的y are是什么,所以我把它们搞定了。也应该和你的一起工作) 阅读plot_date文档以获取更多详细信息

答案 3 :(得分:0)

语法为plt.plot(x, y, style)

尝试

plt.plot(dates, yvals, '-')