我想获取和显示每条线型图中每种类型的行数。例如
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”
答案 0 :(得分: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)