【问题标题】:Separating violinplots in seaborn with a line用一条线分隔seaborn中的小提琴图
【发布时间】:2020-07-03 17:55:17
【问题描述】:

我正在尝试使用 Seaborn 绘制多色调分布,但我发现这些图很难追溯到它们所属的刻度。我试图添加一个网格,但网格只显示在分布的维度上,因此将分布本身分开,而不是彼此不同的分布。是否可以让 Seaborn 在不同的小提琴情节组/色调之间添加网格线?为了说明,请从docs 中获取其中一张图。我已经在这个图中添加了我想看到的内容(出于说明目的,我将这些分隔符的宽度设置得很重,在解决方案中我希望它们与网格线一样粗):

【问题讨论】:

    标签: python seaborn violin-plot


    【解决方案1】:

    您可以使用 matplotlib 的 axvline 在位置 0.5、1.5、...处绘制垂直线

    import numpy as np
    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")
    for i in range(len(np.unique(tips['day'])) - 1):
        ax.axvline(i + 0.5, color='grey', lw=1)
    plt.show()
    

    或者,您可以在这些位置设置次要刻度,并为 x 轴打开次要网格线。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2019-05-21
      • 2021-10-14
      • 2022-01-23
      • 2017-05-25
      • 2020-06-18
      • 2021-02-23
      • 2016-02-18
      相关资源
      最近更新 更多