gpt4 book ai didi

python - Matplotlib - 绘制非均匀线分布

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:57 24 4
gpt4 key购买 nike

考虑以下 matplotlib 示例:https://matplotlib.org/3.1.1/gallery/recipes/fill_between_alpha.html

使用fill_ Between可以显示标准偏差:

ax.fill_between(t, mu1+sigma1, mu1-sigma1, facecolor='blue', alpha=0.5)

但是,该区域被均匀填充,而每个 x 坐标的实际分布是​​正态的(我认为)。是否可以填充区域来反射它(使得点越接近mu1颜色越浓)。

您可以假设我有数组 meanstd,它们定义每个 x 坐标的正态分布,并且我想绘制这些分布: alpha 应与密度成正比。

作为一种解决方案,我可能可以使用多层 fill_ Between,但它并不精确,而且非常hacky。

最佳答案

也许你可以使用filled contour使用 np.meshgrid 创建的 X,Y,Z 数据和 norm.pdf 。我删除了 fill between example 中的 fill_ Between并添加了以下内容:

import matplotlib.cm as cm
from scipy.stats import norm

width = 2.0
YS = np.linspace(np.min(mu1 - sigma1 * width),
np.max(mu1 + sigma1 * width), 101)

X,Y = np.meshgrid(t,YS)
Z = np.zeros_like(X, dtype=np.float)
for i, (mu,sigma) in enumerate(zip(mu1,sigma1)):
Z[:,i] = norm.pdf(YS, loc=mu, scale=sigma) * sigma

plt.contourf(X,Y,Z, cmap=cm.BuGn, levels=100)

这会导致: enter image description here

这还没有使用 alpha,因此它仅对一行有用,也许您可​​以将 alpha 与自定义颜色图一起使用,但这比较棘手。

关于python - Matplotlib - 绘制非均匀线分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com