python - seaborn 中的 fiddle 图没有显示均值、百分位数或棍棒?

标签 python matplotlib pandas seaborn

当我尝试复制示例时 here ,我的 fiddle 图(带有我的数据)没有显示中位数和中位数,以及第 25 个和第 75 个百分位数,但原始示例显示。

它似乎也忽略了参数“sticks”

这是我尝试过的:

sns.violinplot(df, "stick", color="pastel")

这是我得到的:

enter image description here

虽然原件看起来像下面这样(对于 sns.violinplot(df, color="pastel")):

enter image description here

注意:

此问题不会影响箱线图。

这是一个产生(非常相似)形状的最小示例:

> df

                                A               B
0RS0NrQDHHx                   NaN        19.727869
0RS232Ak80k                   NaN        32.552973
0RSECe1NRShE                  NaN        44.369213
0RSHVQNT16d                   NaN        11.306910
0RSO4JcoLeb                   NaN        -7.935776
0RSOrrpKlRu                   NaN        39.489909
0RSVIHDWBR1                   NaN        52.830051
0RSWe5CE1Hk                   NaN        26.913323
0RSXhLG3Kp8             -1.921543              NaN
0RSc8uRSessd             27.028029             NaN
0RScRSZoDX72             12.713600             NaN
0RSdwNiizS0             28.859158              NaN
0RSeWHWRSww3             12.537717             NaN
0RSrs6jjCsM              5.135179              NaN
0RStNwVhvO1            -55.566641              NaN
0RStQI2VH5A            -15.119272              NaN
0RStWRWmH8V             -2.369918              NaN
0RSukeajMJy             -0.904298              NaN
0RSvJezMyrx             -1.105769              NaN
0RSx5WRStDjG             0.899420              NaN

最佳答案

试试 sns.violinplot(df, inner="stick", color="pastel")。第二个位置参数是分组变量。 (不过,inner="stick" 会显示每个观察结果。如果您想要第 25、50 和 75 个百分位数,请执行 inner="box")。

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

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)

关于python - seaborn 中的 fiddle 图没有显示均值、百分位数或棍棒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22543501/

相关文章:

python - OCR,裁剪字母

python - 如何在 Matplotlib 中交错或偏移 x 轴标签?

python - 使用映射函数在 pandas 列中绘制直方图

python - 基于开始和结束列扩展数据框(速度)

python - 函数/文件的 Nose 测试中的神秘SyntaxError

python - Apache + mod_wsgi + Flask(类似于 Django)不工作

python - 查找出现最大值但如果所有值均为零则不返回任何内容的列

python - 属性错误 : 'SnowflakeCursor' object has no attribute 'cursor'

Python 过采样在管道中组合了多个采样器

python - 如何在极坐标图中的 3 条线之间填充?