Аннотирующая легенда линейного участка морского побережья с количеством строк для каждой категории - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу получить и показать количество строк каждого типа на линейном участке морского побережья. Например,

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

Я хочу показать количество строк с событием 'стим' и количество строк с событием 'кий' в качестве дополнения к легенде, например, вместо того, чтобы показывать 'стим' в легенде, это может показывать «стим (23)», что означает, что 23 строки имеют событие как «стим»

1 Ответ

1 голос
/ 06 апреля 2020

Примерно так бы и получилось:

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)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...