我有一个包含几个数据点的情节,我希望保留原样。
其中一个数据点是“更好”,因为它不仅具有值,而且还具有分配给它的概率。
我想通过绘制正常数据点来显示该概率,并且对于具有测量PDF的那个显示小提琴图。
到目前为止,我已经用绘制的散点图完成了这个,看起来有点像这样(在MWE中):
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()
看起来像这样:
虽然这有效,但传输信息 - 但看起来并不太酷。
根据@jadsq的建议,我发现了violinplots,它看起来与我想要的完全一样!
我现在遇到的问题是小提琴图功能假设数据然后方便地绘制PDF。在我的情况下,我已经有一个测量PDF(这是我想要绘制的)。我怎么能制作一个看起来像小提琴情节的情节,但是我的PDF(所以没有估计)?
对我而言,它看起来像是一种在你的点上指示误差条的方法,所以你可以试着用box plot来代表它。
关于颜色贴图:只需在散点图调用中添加cmap='inferno'
,如下所示:
ax.scatter(np.ones_like(histo)*x[10],y_better,c=histo,norm=matplotlib.colors.LogNorm(),s=100,cmap='inferno')