Python seaborn中的Violinplots未显示平均值、百分位数或棍棒?

Python seaborn中的Violinplots未显示平均值、百分位数或棍棒?,python,matplotlib,pandas,seaborn,Python,Matplotlib,Pandas,Seaborn,当我试图复制这个例子时,我的小提琴图(带有我的数据)没有显示中位数和中位数,以及第25个和第75个百分位数,但原始例子显示了 它似乎也忽略了参数“粘住” 以下是我尝试过的: sns.violinplot(df, "stick", color="pastel") 下面是我得到的: 而原始版本看起来如下所示(对于sns.violinplot(df,color=“pastel”): 注: 此问题不会影响箱线图 下面是一个导致(非常相似)形状的最小示例: 试试看sns.violinplot(df,

当我试图复制这个例子时,我的小提琴图(带有我的数据)没有显示中位数和中位数,以及第25个和第75个百分位数,但原始例子显示了

它似乎也忽略了参数
“粘住”

以下是我尝试过的:

sns.violinplot(df, "stick", color="pastel")
下面是我得到的:

而原始版本看起来如下所示(对于
sns.violinplot(df,color=“pastel”)

注: 此问题不会影响箱线图

下面是一个导致(非常相似)形状的最小示例:

试试看sns.violinplot(df,internal=“stick”,color=“pastel”)。第二个位置参数是分组变量。(尽管,
internal=“stick”
显示了每个观察值。如果您想要第25、50和75百分位,请执行
internal=“box”

还可以处理具有大量NAs的相对稀疏的数据帧,例如

df = pd.DataFrame(np.random.randn(20, 5), columns=list("ABCDE"))
for i, c in zip(range(5, 10), df.columns):
    df.loc[i, c] = np.nan
你可以

plot_vals = [v.dropna() for k, v in foo.iteritems()] 
sns.violinplot(plot_vals, names=df.columns)

请发布一个显示问题的最简单的工作示例。谢谢@PaulH我更新了帖子。谢谢-但没有修复它。我想知道问题是否出在
NaNs
?(尽管方框图可以计算出中位数和百分位数)这可能是问题所在,但我认为百分位数的计算是不安全的。只需使用
df.dropna()
进行绘图即可。谢谢,不过在我的例子中,
df.dropna()
只会简化为一个空数据帧。有什么建议吗?
plot_vals = [v.dropna() for k, v in foo.iteritems()] 
sns.violinplot(plot_vals, names=df.columns)