【问题标题】:Boxplot and violin plot with multiple categories具有多个类别的箱线图和小提琴图
【发布时间】:2021-12-20 10:50:45
【问题描述】:

我有一个化学数据库。它包含 4 个不同类别的不同元素的化学分析。

我对我的 df 做了一个简化的版本,实际上它有更多的元素。

我想绘制比较每个类别的每个元素的箱线图和小提琴图。像这样的:

你会帮我吗?

【问题讨论】:

    标签: pandas matplotlib seaborn boxplot violin-plot


    【解决方案1】:

    Seaborn 期望 long-form data 每一行对应一个观察结果。

    1. meltCategory的数据:

      melted = df.melt('Category', var_name='Element', value_name='Concentration')
      
      #    Category  Element  Concentration
      # 0         A       Au         0.1000
      # 1         A       Au         0.1500
      # 2         A       Au         0.4000
      # 3         B       Au         0.1000
      # ...
      # 10        D       Au         1.0000
      # 11        A       Ag         1.0000
      # ...
      # 20        D       Ag        40.0000
      # 21        D       Ag        56.0000
      
    2. 将此melted 数据框与boxplotviolinplot 一起使用:

      sns.boxplot(data=melted, x='Element', y='Concentration', hue='Category')
      
      sns.violinplot(data=melted, x='Element', y='Concentration', hue='Category')
      

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2015-09-24
      • 1970-01-01
      • 2022-12-09
      • 2019-03-03
      • 2015-01-16
      相关资源
      最近更新 更多