Python 小提琴情节

Python Violin Plots

如何使用 ggplot2 像在 R 中那样绘制小提琴图?在 ggplot2 中,您可以创建漂亮的小提琴图,例如:

ggplot(dat,aes(value,prob)) + 
geom_violin() + 
geom_jitter(alpha=0.1) + 
scale_y_log10() +
labs(x="test values", y="prob")

你可以获得这样的好图:

如何在 Python 中执行相同的操作?我看过 matplotlib.pyplot.violinplot 但无法获得与此类似的任何内容。

使用 seaborn(注意这是使用开发版本;在当前版本中工作方式略有不同,但确实可以绘制 violinplots):

sns.violinplot(x=value, y=prob, inner=None, color="white", cut=0)
sns.stripplot(x=value, y=prob, jitter=.3,  color="black", alpha=.1, size=4)

这些函数都是 return matplotlib 轴对象,您可以对该对象执行 ax.set_yscale("log") 以使用对数轴。请注意,这会设置 after 适合 KDE 的比例(我不确定 ggplot 做了什么)。