【问题标题】:Python - can you plot a histogram with a contour?Python - 你能用轮廓绘制直方图吗?
【发布时间】:2019-04-20 22:25:07
【问题描述】:

我想用这样的轮廓绘制直方图

我在here 中找到了这张图片,但是在按照相同的程序之后,我没有得到轮廓。

我在堆栈溢出中看到this 问题,但它在每个条上绘制了一条边,我只想要外部轮廓。

我怎样才能画出这个外轮廓? (我正在运行 python 3)

【问题讨论】:

    标签: python matplotlib histogram draw


    【解决方案1】:

    该图可能是使用不同的(即较旧的)matplotlib 版本生成的。这也可以从normed 的使用中看出,在较新版本中已弃用。

    在这里,您将明确地将边缘颜色设置为黑色。 ec="k",或更长,edgecolor="black"

    import numpy as np
    import matplotlib.pyplot as plt
    plt.style.use('seaborn-white')
    
    x1 = np.random.normal(0, 0.8, 1000)
    x2 = np.random.normal(-2, 1, 1000)
    x3 = np.random.normal(3, 2, 1000)
    
    kwargs = dict(histtype='stepfilled', alpha=0.3, density=True, bins=40, ec="k")
    
    plt.hist(x1, **kwargs)
    plt.hist(x2, **kwargs)
    plt.hist(x3, **kwargs);
    
    plt.show()
    

    【讨论】:

    • 是否可以让alpha 只影响填充而不影响轮廓?
    • @ThomasAhle,您可以使用histtype='step' 在半透明直方图上添加另一个直方图。但我也很感兴趣是否可以在一行代码中完成。
    猜你喜欢
    • 2017-08-26
    • 2023-03-20
    • 2018-07-09
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    相关资源
    最近更新 更多