我有以下代码生成直方图。如何使用代码自动保存直方图?我尝试了我们为其他情节类型做的事情,但这对于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")
答案 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中所述的所需数字交。