使用matplotlib.pyplot制作条形图

时间:2018-06-18 17:04:30

标签: python matplotlib

几周前我开始使用python,因此我对python的了解很少。

我希望用一些连续数据绘制条形图,但不想用任何颜色填充它。我想只看到最后的边缘像线直方图。我不能使用白色,因为我将在同一画布中使用错误条图重叠不同的条形图。有关如何将其更改为线性直方图并设置其线条颜色的任何线索?

对于x轴,我使用了numpy.array。 对于y轴,我需要的高度是numpy.histogram形式。

我使用以下方法:

import matplotlib.pyplot as plt

plt.bar(np_array_bins, np_histogram,width=binwidth,
        label='data', alpha=0.5, edgecolor = 'red', 
        color = 'green', linewidth=0.1)

我无法将真实数据放到网上,但我的内容是enter image description here

我想: enter image description here

忽略显示的数据。我只关心情节的风格。 谢谢!

1 个答案:

答案 0 :(得分:2)

根据您的说明,您似乎想要step plothistogram

步骤图可以通过以下方式实现:

matplotlib.pyplot.step(np_array_bins, np_histogram, color="red", label="data")

enter image description here

直方图可以通过以下方式实现:

matplotlib.pyplot.hist(values, histtype="step", edgecolor="red", label="data")

enter image description here

此处的重要参数是histtype,将其设置为step会在直方图周围绘制一条未填充的线条。在此示例中,将传入原始数组,matplotlib将计算bin边缘。您可以自己定义bin边缘并设置其他参数以获得对最终绘图的更多控制,这些在the matplotlib docs中进行了描述。