matplotlib:直方图未显示

MAY*_*MAY 4 python matplotlib python-2.7

我正在尝试绘制直方图,但图形窗口中没有显示任何内容。我的代码如下:

import numpy as np
import matplotlib.pyplot as plt

values = [1000000, 1525097, 2050194, 1095638, 1620736, 2145833, 1191277, 1716375, 1286916, 1382555]

plt.hist(values, 10, histtype = 'bar', facecolor = 'blue')
plt.ylabel("Values")
plt.xlabel("Bin Number")
plt.title("Histogram")
plt.axis([0,11,0,220000])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这是输出: 在此处输入图片说明

我正在努力实现这个情节 在此处输入图片说明

任何帮助将非常感激...

Asw*_*P J 5

你混淆了直方图是什么。可以使用给定数据生成的直方图如下所示。

直方图基本上计算有多少给定值落在给定范围内。

您为axis() 函数提供了不正确的参数。最终值是2200000您错过了一个零。你也交换了论点。首先是 x 轴的限制,然后是 Y 轴的限制。这是修改后的代码:

import numpy as np
import matplotlib.pyplot as plt

values = [1000000, 1525097, 2050194, 1095638, 1620736, 2145833, 1191277, 1716375, 1286916, 1382555]

plt.hist(values, 10, histtype = 'bar', facecolor = 'blue')
plt.ylabel("Values")
plt.xlabel("Bin Number")
plt.title("Histogram")
plt.axis([0,2200000,0,11])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这是生成的直方图:

在此处输入图片说明


MAY*_*MAY 5

我终于实现了...

这是代码:

import numpy as np
import matplotlib.pyplot as plt

values = [1000000, 1525097, 2050194, 1095638, 1620736, 2145833, 1191277, 1716375, 1286916, 1382555]
strategy = [1,2,3,4,5,6,7,8,9,10]
value = np.array(values)
strategies = np.array(strategy)
plt.bar(strategy, values, .8)
plt.ylabel("Values")
plt.xlabel("Bin Number")
plt.title("Histogram")
plt.axis([1,11,0,2200000])
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述