首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建彩色概率分布

创建彩色概率分布
EN

Stack Overflow用户
提问于 2020-05-11 18:20:11
回答 1查看 82关注 0票数 0

有谁知道如何将概率分布着色,如下图所示。我尝试了各种方法,但都没有得到想要的结果。它可以是R或Python,因为我已经尝试过这两种方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 18:34:10

如果您有bin值,则可以使用色彩映射表来生成条形图颜色:

代码语言:javascript
复制
from scipy import stats
import numpy as np
from matplotlib import pyplot as plt

# generate a normal distribution
values = stats.norm().rvs(10000)

# calculate histogram -> get bin values and locations
height, bins = np.histogram(values, bins=50)

# bar width
width = np.ediff1d(bins)

# plot bar
# to get the desired colouring the colormap needs to be inverted and all values in range (0,1)
plt.bar(bins[:-1] + width/2, height, width*0.8,
        color=plt.cm.Spectral((height.max()-height)/height.max()))

着色的关键是这个代码:plt.cm.Spectral((height.max()-height)/height.max())。它将色彩映射表应用于高度值,高度值应该在(0, 1)的范围内,因此我们通过height.max()对bin值进行归一化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61727389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档