情节小提琴风格直方图

问题描述 投票:-1回答:1

我有一个包含几个数据点的情节,我希望保留原样。

其中一个数据点是“更好”,因为它不仅具有值,而且还具有分配给它的概率。

我想通过绘制正常数据点来显示该概率,并且对于具有测量PDF的那个显示小提琴图。

到目前为止,我已经用绘制的散点图完成了这个,看起来有点像这样(在M​​WE中):

import numpy as np
import matplotlib.pyplot as plt



def plot():
    x = np.linspace(0,20,20)
    data =  x + np.random.rand(len(x))
    y =  2*x
    histo = np.array([1,2,3,10,20,10,3,1])
    y_better = np.array([9.5,9.8,10,11.5,12,13,15,16])

    ax = plt.subplot()
    ax.plot(x,data,'o')
    ax.scatter(np.ones_like(histo)*x[10],y_better,c=histo,norm=matplotlib.colors.LogNorm(),s=100)
    plt.show()

plot()

看起来像这样:

enter image description here

虽然这有效,但传输信息 - 但看起来并不太酷。

根据@jadsq的建议,我发现了violinplots,它看起来与我想要的完全一样!

我现在遇到的问题是小提琴图功能假设数据然后方便地绘制PDF。在我的情况下,我已经有一个测量PDF(这是我想要绘制的)。我怎么能制作一个看起来像小提琴情节的情节,但是我的PDF(所以没有估计)?

python matplotlib
1个回答
1
投票

对我而言,它看起来像是一种在你的点上指示误差条的方法,所以你可以试着用box plot来代表它。

关于颜色贴图:只需在散点图调用中添加cmap='inferno',如下所示:

ax.scatter(np.ones_like(histo)*x[10],y_better,c=histo,norm=matplotlib.colors.LogNorm(),s=100,cmap='inferno')
© www.soinside.com 2019 - 2024. All rights reserved.