如何在python中保存直方图?

A.S*_*A.S 7 matplotlib python-2.7

我有以下代码生成直方图.如何使用代码自动保存直方图?我尝试了我们为其他情节类型做的事情,但这对于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")
Run Code Online (Sandbox Code Playgroud)

atr*_*tru 9

这对我有用:

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")
Run Code Online (Sandbox Code Playgroud)

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

pl.savefig("/Users/atru/abc.png")
Run Code Online (Sandbox Code Playgroud)

pl.show()声明应不前放置savefig(),因为它创建了一个新的数字令savefig()保存一个空白图,而不是中说明的期望一个这个职位.

  • 简要滚动浏览[this](/sf/ask/630874121/)并查看它 - 你之前有`pl.show()` pl.savefig()`? (2认同)
  • 我也刚刚意识到这一点。我在 pl.savefig() 之前有 pl.show()。我切换了这些代码行,现在它工作正常。非常感谢。 (2认同)