【问题标题】:How to make a plot with multiple bars using seaborn如何使用 seaborn 绘制具有多个条形的图
【发布时间】:2019-07-16 04:27:38
【问题描述】:

我有一个 pandas 数据框,正在尝试使用 seaborn 制作一个多条形图。我想将RF_# 标签的每组试验组合在一起;例如,我希望 RF_1RF_6 分开,并希望每个 RF_# 值的五个试验彼此相邻但与其他 RF_# 组分开。

我已经读过要制作这种条形图,需要先使用 melt 函数,但我不确定这对我的特定数据框如何工作。

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    您可以melt 数据框,然后使用seabornxhue 参数来创建您正在寻找的分组。下面的示例可能会受益于一些列重命名和视觉调整,但这应该会让您朝着正确的方向前进。

    请注意,您可以直接在seaborn.barplot 命令中执行melt,但您可能希望将此熔化的数据框重新分配给一个新变量以用于其他绘图命令。

    df = pd.DataFrame({'RF_1': {'Trial_1': 64.66,
      'Trial_2': 48.37,
      'Trial_3': 84.0,
      'Trial_4': 11.16,
      'Trial_5': 77.05},
     'RF_6': {'Trial_1': 37.19,
      'Trial_2': 17.14,
      'Trial_3': 1.5,
      'Trial_4': 66.14,
      'Trial_5': 24.19},
     'RF_7': {'Trial_1': 6.81,
      'Trial_2': 31.22,
      'Trial_3': 80.24,
      'Trial_4': 4.04,
      'Trial_5': 58.26},
     'RF_8': {'Trial_1': 20.97,
      'Trial_2': 44.52,
      'Trial_3': 11.38,
      'Trial_4': 75.17,
      'Trial_5': 92.25},
     'RF_9': {'Trial_1': 95.29,
      'Trial_2': 19.66,
      'Trial_3': 98.07,
      'Trial_4': 54.02,
      'Trial_5': 86.31}})
    
    sns.barplot(x='RF', y='value', hue='index',
                data=df.reset_index().melt(id_vars='index', var_name='RF'))
    

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 2021-07-28
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2023-01-20
      • 1970-01-01
      • 2019-05-29
      相关资源
      最近更新 更多