Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
07 Авг 2024
2 мин
1316

Вывод графиков matplotlib в IPython Notebook

Иногда при работе с библиотекой matplotlib в среде IPython Notebook возникает ситуация, когда графики, построенные с помощью этой библиотеки, не отображаются в

Иногда при работе с библиотекой matplotlib в среде IPython Notebook возникает ситуация, когда графики, построенные с помощью этой библиотеки, не отображаются в блокноте. Вместо этого отображается строка подобного вида:

<matplotlib.figure.Figure at 0x110b9c450>

Это является типичной проблемой, с которой могут столкнуться начинающие пользователи при использовании библиотеки matplotlib в IPython Notebook.

Например, имеется следующий код:

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

Ожидается, что после выполнения этого кода на экране появится график функции. Однако, вместо графика появляется строка <matplotlib.figure.Figure at 0x110b9c450>.

Для решения этой проблемы необходимо использовать магическую команду %matplotlib inline. Эта команда позволяет выводить графики matplotlib прямо в блокноте, а не в отдельном окне.

Таким образом, код будет выглядеть следующим образом:

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

Теперь после выполнения этого кода график будет отображаться прямо в блокноте IPython.

Бывают случаи, когда даже после использования команды %matplotlib inline, графики все равно не отображаются. В этом случае стоит проверить, какой backend используется для отрисовки графиков. Это можно сделать с помощью функции matplotlib.get_backend(). Если в качестве backend используется 'module://IPython.kernel.zmq.pylab.backend_inline', то графики должны отображаться нормально. Если же используется другой backend, то его стоит сменить на 'module://IPython.kernel.zmq.pylab.backend_inline' с помощью функции matplotlib.use().

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий