如何在python中保存直方图?

时间:2017-09-25 18:07:18

标签: python-2.7 matplotlib

我有以下代码生成直方图。如何使用代码自动保存直方图?我尝试了我们为其他情节类型做的事情,但这对于histogram.a是一个'numpy.ndarray'。

a = [-0.86906864 -0.72122614 -0.18074998 -0.57190212 -0.25689268 -1.
     0.68713553  0.29597819  0.45022949  0.37550592  0.86906864  0.17437203
     0.48704826  0.2235648   0.72122614  0.14387731  0.94194514 ]

fig = pl.hist(a,normed=0)
pl.title('Mean')
pl.xlabel("value")
pl.ylabel("Frequency")
pl.savefig("abc.png")

1 个答案:

答案 0 :(得分:7)

这对我有用:

import matplotlib.pyplot as pl
import numpy as np

a = np.array([-0.86906864, -0.72122614, -0.18074998, -0.57190212, -0.25689268 ,-1. ,0.68713553 ,0.29597819, 0.45022949, 0.37550592, 0.86906864, 0.17437203, 0.48704826, 0.2235648, 0.72122614, 0.14387731, 0.94194514])

fig = pl.hist(a,normed=0)
pl.title('Mean')
pl.xlabel("value")
pl.ylabel("Frequency")
pl.savefig("abc.png")
OP中的

a不是一个numpy数组,它的格式也需要修改(它需要逗号,而不是空格作为分隔符)。该程序成功将直方图保存在工作目录中。如果它仍然不起作用,请为它提供一个完整路径,指向您想要保存它的位置

pl.savefig("/Users/atru/abc.png")

pl.show()语句不应放在savefig()之前,因为它会创建一个新的数字,使savefig()保存一个空白数字,而不是this中所述的所需数字交。