Как в Matplotlib организовать подписи данных в функции

Необходимо сделать подписи к каждому графику и изменить подписи в легенде


def morb_mort_plot(data, x, y, ylim, figsize=(12, 5), grid=True):
    data.plot(figsize=figsize, grid=grid, x=x, y = y)
    plt.legend(bbox_to_anchor=(1.2, 0.6))
morb_mort_plot(data = data.query('mkb == "C00_C96"' ),  x = 'year',  y = ['crude_rates', 'asr'], ylim = [0, 100]) 
morb_mort_plot(data = data.query('mkb == "C33_C34"' ),  x = 'year',  y = ['crude_rates', 'asr'], ylim = [0, 100]) 
morb_mort_plot(data = data.query('mkb == "C50"' ),  x = 'year',  y = ['crude_rates', 'asr'], ylim = [0, 100])
morb_mort_plot(data = data.query('mkb == "C53"' ),  x = 'year',  y = ['crude_rates', 'asr'], ylim = [0, 100])

При попытке поставить lable не отрабатывает функцию. Тоже самое при попытке настроить переименование xlabel и ylable

Примерный DataFrame

mkb year number crude_rates asr
C34 2015 85     2           1,5
C34 2018 19     1,61        0,98
C34 2019 27     2,29        1,48
C34 2017 44     3,73        2,54
C34 2015 35     1,19        0,73

График, который должен сформироваться


Ответы (1 шт):

Автор решения: passant

Вы считаете, что вы привели воспроизводимы фрагмент кода? Ну да ладно, раз не привели - вот так выводит ваш датафрейм примерно в том виде, как вы и описали.

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import pandas as pd
df=pd.DataFrame([[2015,85,2, 1.5],
              [2016,19,1.61,0.98],
              [2017,27,2.29,1.48],
              [2018,44,3.73,2.54],
              [2019,35,1.19,0.73]],
columns=['year', 'number', 'crude_rates', 'asr'])

df['year'] =pd.to_datetime(df['year'],format='%Y').dt.year
df.set_index('year', inplace=True)
ax = df.plot(grid=True)
ax.set_title('Заболеваемость С34')
ax.xaxis.set_major_locator(ticker.MultipleLocator(1))
ax.set_xlabel('Год')

введите сюда описание изображения

→ Ссылка