Сюжеты не отображаются в блокноте Jupyter - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать 2x2 графика для набора данных Anscombe

Загрузка набора данных и разделение каждого класса в наборе данных

import seaborn as sns
import matplotlib.pyplot as plt

anscombe = sns.load_dataset('anscombe')

dataset_1 = anscombe[anscombe['dataset'] == 'I']
dataset_2 = anscombe[anscombe['dataset'] == 'II']
dataset_3 = anscombe[anscombe['dataset'] == 'III']
dataset_4 = anscombe[anscombe['dataset'] == 'IV']

Создание фигуры и деление на 4 части

fig = plt.figure()

axes_1 = fig.add_subplot(2,2,1)
axes_2 = fig.add_subplot(2,2,2)
axes_3 = fig.add_subplot(2,2,3)
axes_4 = fig.add_subplot(2,2,4)

axes_1.plot(dataset_1['x'], dataset_1['y'], 'o')
axes_2.plot(dataset_2['x'], dataset_2['y'], 'o')
axes_3.plot(dataset_3['x'], dataset_3['y'], 'o')
axes_4.plot(dataset_4['x'], dataset_4['y'], 'o')

axes_1.set_title('dataset_1')
axes_2.set_title('dataset_2')
axes_3.set_title('dataset_3')
axes_4.set_title('dataset_4')

fig.suptitle('Anscombe Data')

fig.tight_layout()

Единственный вывод, который я получаю на каждом участке, это

[<matplotlib.lines.Line2D at 0x24592c94bc8>]

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Если вы работаете с ноутбуком Jupyter, вы можете добавить следующую строку в верхнюю ячейку, где вы вызываете все ваши импорты. Следующая команда отобразит ваш график

%matplotlib inline

enter image description here

0 голосов
/ 09 апреля 2020

Добавьте %matplotlib inline или используйте matplotlib.pyplot.ion()

после импорта matplotlib.

Из создание документов :

Начиная с В I Python 5.0 и matplotlib 2.0 вы можете избежать использования спецификаций IPython c magi c и использовать matplotlib.pyplot.ion () / matplotlib.pyplot.ioff (), которые имеют преимущества работы вне I Python.

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