【问题标题】:Annotating seaborn lineplot legend with number of rows for each category用每个类别的行数注释 seaborn 线图图例
【发布时间】:2020-04-06 03:10:46
【问题描述】:

我想在 seaborn 线图中获取并显示每种类型的行数。例如

import seaborn as sns
fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", hue="event", data=fmri)

我想显示事件“stim”的行数和事件“cue”的行数作为图例的补充,例如而不是在图例中显示“stim”,它可以显示“stim (23)”,这意味着 23 行将事件作为“stim”

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    这样的事情可以解决问题:

    fmri = sns.load_dataset("fmri")
    x_col = 'timepoint'
    y_col = 'signal'
    hue_col = 'event'
    
    ax = sns.lineplot(x=x_col, y=y_col, hue=hue_col, data=fmri)
    handles,labels = ax.get_legend_handles_labels()
    counts = fmri[hue_col].value_counts()
    # labels[0] is used for the title by seaborn
    new_labels = [labels[0]]+['{:s} ({:d})'.format(l, counts[l]) for l in labels[1:]]
    ax.legend(handles, new_labels)
    

    【讨论】:

      猜你喜欢
      • 2022-10-12
      • 2020-08-10
      • 2020-03-18
      • 1970-01-01
      • 2021-03-14
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      相关资源
      最近更新 更多