【问题标题】:Outer lines Seaborn violinplot/boxplot外线 Seaborn violinplot/boxplot
【发布时间】:2017-01-10 11:00:05
【问题描述】:

我正在使用 Seaborn 库中的 violinplot 函数。有时外线是可视化的:

有时它们不是:

这些示例基于相同的代码,运行时间不同:

  df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
  sns.violinplot(data=df, order=list(df.columns), cut=0,inner='points', bw='silverman', split=True, color='limegreen')
  plt.show()

如何操作外线的格式?

【问题讨论】:

标签: python matplotlib seaborn


【解决方案1】:

感谢 Serenity 指出这是由于 matplotlib 错误(参见报告的 issue)。

可以通过以下函数解决:

def patch_violinplot():
     from matplotlib.collections import PolyCollection
     ax = plt.gca()
     for art in ax.get_children():
          if isinstance(art, PolyCollection):
              art.set_edgecolor((0.3, 0.3, 0.3))

可以通过以下方式修复示例:

df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
sns.violinplot(data=df, order=list(df.columns), cut=0,inner='points', bw='silverman', split=True, color='limegreen')
patch_violinplot()
plt.show()

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 2020-10-17
    • 2020-06-23
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2022-01-23
    相关资源
    最近更新 更多