Создание ключа для среднего и срединных линий в Matplotlib - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть следующий код, который создает коробочную диаграмму копий гена APOE4 и оценки памяти (отсюда и имена переменных)

clean_merged.boxplot('composite scores', by='APOE4', widths = 0.8, showmeans = True, meanline = True)
plt.title('Mean Composite Memory Score by APOE4 Copies')
plt.xlabel('Number of APOE4 Copies')
plt.ylabel('Composite Memory Score')
plt.rcParams['figure.figsize'] = (10,10)

, которая генерирует этот вывод:

enter image description here Я хотел бы добавить легенду для среднего (зеленая пунктирная линия) и срединных линий (solid заливка), и я изо всех сил пытаюсь сделать это, основываясь на ранее заданных вопросах, поскольку то, как я создал свой график, совершенно отличается от методы обычно советуют.

Я новичок в python, поэтому любая помощь приветствуется :) спасибо !!!

1 Ответ

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

Вы можете добавить «пустые» линии на график, назначив им соответствующие стили, цвета и метки. Они будут подобраны plt.legend(). Поскольку у меня нет ваших данных, я использую набор данных Titani c от Seaborn в качестве примера:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

titanic = sns.load_dataset('titanic')
titanic.boxplot('age', by='sex', widths=0.8, showmeans=True, meanline=True)

plt.plot([], [], '-', linewidth=1, color='Crimson', label='mean')
plt.plot([], [], '-', linewidth=1, color='gray', label='median')

plt.legend()

arbitrary legend

...