19

所有 matplotlib示例hist()生成一个数据集,将数据集提供给hist带有一些 bin(可能是非均匀间隔)的函数,然后函数会自动计算并绘制直方图。

我已经有直方图数据,我只是想绘制它,我该怎么做?!例如,我有垃圾箱(半开范围用方括号和弯括号表示法表示),

[0, 1)   0
[1, 2)   3
[2, 3)   8
[3, 4)   6
[4, 5)   2
[5, 6)   3
[6, 7)   1
[7, 8)   0
4

3 回答 3

18

也许重量参数会对您的问题有所帮助。

import matplotlib.pyplot as plt

a= [1,2,3,4,5,6,7,8,9]
b= [5,3,4,5,3,2,1,2,3]
plt.hist(a,9, weights=b)
plt.show()

或者,正如 tcaswell 所说,您可以制作条形图并更改 x 轴。

使用matplotlib我怎么能用python中的给定数据绘制直方图

是一个链接。

于 2013-06-21T19:55:24.697 回答
3

此外,作为替代方案(类似于 Matlab),您可以使用bar

import matplotlib.pyplot as plt

a= [1,2,3,4,5,6,7,8,9]
b= [5,3,4,5,3,2,1,2,3]
plt.bar(a,b)

在此处输入图像描述

然后,您还可以添加标题和其他内容,最后保存图像:

plt.title("Clock cycles")
plt.grid()
plt.xlabel("Size of the matrices processed")
plt.ylabel("Clock cycles")
plt.savefig("clock_cycles.svg")
于 2020-11-12T08:30:56.683 回答
0

我很惊讶没有人在这里提到 plt.step 来制作阶梯图......

a= [1,2,3,4,5,6,7,8,9]
b= [5,3,4,5,3,2,1,2,3]
plt.step(a,b)
于 2021-11-10T22:52:47.450 回答