我正在尝试对小提琴图的特定部分(分位数)进行阴影处理,其中仅对分布区域进行了阴影处理(不会进一步水平延伸)。
我知道如何在顶部绘制水平或垂直线,但不了解如何利用plt.fill_between()
进行适当的着色。我怀疑这可能与访问ax.violinplot()['bodies']集合有关,但是我不确定这意味着什么。
np.random.seed(11)
data = np.random.random(100)
quartile1, median, quartile3 = np.percentile(data, [25, 50, 75], axis=0)
plt.violinplot(data)
plt.vlines(1, quartile1, quartile3, color='k', linestyle='-')
plt.hlines(quartile1,.8,1.2)
plt.hlines(quartile3,.8,1.2)
#plt.fill_between(data, quartile1, quartile3, where=data ???)