使用 python 绘制正值小提琴图

lan*_*nok 8 python visualization data-analysis seaborn violin-plot

我发现小提琴图信息丰富且有用,我使用 python 库“seaborn”。然而,当应用于正值时,它们几乎总是在低端显示负值。我发现这确实具有误导性,尤其是在处理现实数据集时。

在seaborn的官方文档中https://seaborn.pydata.org/ generated/seaborn.violinplot.html可以看到带有“total_bill”和“tip”的示例,它们不能负数。然而,小提琴图显示负值。例如,

import seaborn as sns
sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
ax = sns.violinplot(x="day", y="total_bill", hue="smoker",data=tips, palette="muted", split=True)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我确实明白,这些负值来自高斯核。因此,我的问题是:有什么办法可以解决这个问题吗?python 中的另一个库?可以指定不同的内核吗?

Jul*_*tte 11

您可以使用关键字cut=0将绘图限制在数据范围内。如果数据没有负值,这会将小提琴的末端截为零。使用与您相同的示例,尝试:

ax = sns.violinplot(x="day", y="total_bill", hue="smoker",data=tips, palette="muted", split=True,cut=0)