Использование relplot Сиборна вместо сюжета Матплотлиба - PullRequest
0 голосов
/ 12 октября 2019

У меня есть линейный график, построенный с использованием matplotlib со следующим кодом:

f = plt.figure(figsize=(20, 7))
sns.set_style("darkgrid")
ax = plt.subplot(111)
df.plot(x='Date', y=['Burglary',
                    'Criminal Damage',
                    'Criminal Damage',
                    'Drugs',
                    'Fraud or Forgery',
                    'Robbery',
                    'Sexual Offences', 
                    'Theft and Handling',
                    'Violence Against The Person',
                    'Other Notifiable Offences'], ax=f.gca())
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.show()

Работает нормально. df.head () выглядит так:

first 4 rows of dataframe

Когда я пытаюсь использовать relplot из Seaborn, я получаю следующую ошибку:

ValueError: не удалось передать входной массив из shape (10) в shape (105)

Модифицированный код выглядит следующим образом:

f = plt.figure(figsize=(20, 7))
sns.set_style("darkgrid")
ax = plt.subplot(111)
sns.relplot(data=df, x='Date', y=['Burglary',
                    'Criminal Damage',
                    'Criminal Damage',
                    'Drugs',
                    'Fraud or Forgery',
                    'Robbery',
                    'Sexual Offences', 
                    'Theft and Handling',
                    'Violence Against The Person',
                    'Other Notifiable Offences'], ax=f.gca())
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.show()

Должен ли фрейм данных иметь другую структуру илиЯ что-то упустил в коде? Я хочу использовать Seaborn, чтобы включить или отключить различные категории, чтобы график был более читабельным при представлении.

Заранее спасибо.

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