Matplotlib отображает графики на plot () вместо show () в консоли - PullRequest
0 голосов
/ 09 июня 2018

Сейчас я учусь использовать matplotlib.Судя по тому, что я прочитал, кажется, что функция plot () должна создавать график, а show () должна отображать его.Однако, когда я запускаю следующее, отображение происходит в строке plt.plot (), а не plt.show ():

In [1]: import matplotlib.pyplot as plt

In [2]: %matplotlib inline

In [3]: plt.plot()
Out[3]: []

In [4]: plt.show()

В выводе выше отображается пустой график после plot.plot (),но plt.show () ничего не делает.Я использую Spyder с консолью iPython.Запуск кода через редактор дает тот же результат.Я неправильно понимаю, что делает каждая функция в отдельности, или я не получаю правильных результатов.Извиняюсь, если это глупый вопрос.

Для ясности:

Моя проблема не в том, что график не отображается.Сюжет отображается отлично!Моя проблема в том, что до сих пор кажется, что функция plt.show () ничего не делает.Я могу запустить свою программу, создать график с помощью plt.plot (x, y), изменить параметры, такие как метки, и он будет отображаться как задумано, даже если я полностью опущу plt.show ().У plt.show (), кажется, нет никакой функциональности, поскольку это - моя проблема.

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Используйте тот же код с:% matplotlib notebook в Jupiter Notebook IDE.Кроме того, вам нужно использовать код за один раз, так как plt.show () работает с предыдущими командами.

0 голосов
/ 10 июня 2018

Вы используете консоль Jupyter / IPython Qt (которая является единственной опцией в новейшей версии Spyder).Он может быть настроен таким образом, чтобы автоматически отображать графики из ячейки, в которой они созданы. Этот параметр известен как inline backend, который можно получить, установив для волшебства IPython значение %matplotlib inline.В spyder такие вещи могут быть настроены через

"Инструменты \ Настройки \ Консоль IPython \ Графика" .

enter image description here

В случае, если вы выберете любой другой параметр, кроме inline , или отключите «поддержку графики», вы должны прийти к ситуации, когда для отображения графика как обычно требуется plt.show().

...