Pycharm не показывает сюжет

Pycharm не показывает график из следующего кода:

import pandas as pd import numpy as np import matplotlib as plt ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) ts = ts.cumsum() ts.plot() 

Случается, что окно появляется меньше секунды, а затем снова исчезает.

Используя Pyzo IEP IDE (используя тот же интерпретатор) на том же коде, график показывает, как ожидалось.

… Поэтому проблема должна быть с некоторой настройкой на Pycharm. Я попытался использовать оба python.exe и pythonw.exe как интерпретатор с одинаковыми результатами.

Это мой sys_info:

 C:\pyzo2014a\pythonw.exe -u C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevconsole.py 57315 57316 PyDev console: using IPython 2.1.0import sys; print('Python %s on %s' % (sys.version, sys.platform)) Python 3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, 13:02:30) [MSC v.1600 64 bit (AMD64)] on win32 sys.path.extend(['C:\\Users\\Rasmus\\PycharmProjects\\untitled2']) In[3]: import IPython print(IPython.sys_info()) {'commit_hash': '681fd77', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': 'C:\\pyzo2014a\\lib\\site-packages\\IPython', 'ipython_version': '2.1.0', 'os_name': 'nt', 'platform': 'Windows-8-6.2.9200', 'sys_executable': 'C:\\pyzo2014a\\pythonw.exe', 'sys_platform': 'win32', 'sys_version': '3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, ' '13:02:30) [MSC v.1600 64 bit (AMD64)]'} 

  • Python: Typehints для объектов argparse.Namespace
  • Как организовать проект python, который содержит несколько пакетов, чтобы каждый файл в пакете можно было запускать отдельно?
  • Автоматическое преобразование вкладок pycharm в пространство
  • Pycharm: установить переменную среды для запуска manage.py Task
  • Как связать PyCharm с PySpark?
  • PyCharm показывает ошибку неразрешенных ссылок для действительного кода
  • Может ли PyCharm перечислить все ошибки Python в проекте?
  • Запуск scrapy с PyCharm - Debug работает, но Run не работает
  • 12 Solutions collect form web for “Pycharm не показывает сюжет”

    У меня такая же проблема. Проверьте, что plt.isinteractive() имеет значение True. Установка на него «False» помогла мне.

     plt.interactive(False) 

    Я понимаю, что это старо, но я подумал, что проясню неправильное представление о других путешественниках. Установка plt.pyplot.isinteractive () в 'False' означает, что график будет нарисован на определенных командах для рисования (т. Е. Plt.pyplot.show ()). Установка plt.pyplot.isinteractive () в значение «True» означает, что каждая команда pyplot (plt) вызывает команду рисования (т. Е. Plt.pyplot.show ()). Так что вы, скорее всего, искали, это plt.pyplot.show () в конце вашей программы для отображения графика.

    В качестве примечания вы можете немного сократить эти утверждения, используя следующую команду импорта: «import matplotlib.pyplot as plt», а не «matplotlib as plt»,

    Я пробовал разные решения, но для меня окончательно работал plt.show(block=True) . Вам нужно добавить эту команду после команды myDataFrame.plot() чтобы она myDataFrame.plot() в силу. Если у вас есть несколько сюжетов, просто добавьте команду в конец вашего кода. Это позволит вам видеть все данные, которые вы рисуете.

    Я нашел решение. Это сработало для меня:

     import numpy as np import matplotlib.pyplot as plt points = np.arange(-5, 5, 0.01) dx, dy = np.meshgrid(points, points) z = (np.sin(dx)+np.sin(dy)) plt.imshow(z) plt.colorbar() plt.title('plot for sin(x)+sin(y)') plt.show() 

    Со мной проблема заключалась в том, что matplotlib использовал неправильный бэкэнд. Я использую Debian Jessie.

    В консоли я сделал следующее:

     import matplotlib matplotlib.get_backend() 

    В результате получилось: «agg», в то время как это должно быть «TkAgg».

    Решение было простым:

    1. Удалить matplotlib через pip
    2. Установите соответствующие библиотеки: sudo apt-get install tcl-dev tk-dev python-tk python3-tk
    3. Установите matplotlib через pip снова.
     import matplotlib matplotlib.use('TkAgg') 

    Работает на меня. (PyCharm / OSX)

    Мне удалось получить комбинацию некоторых других предложений, которые здесь работают, но только при переключении plt.interactive (False) на «True» и обратно.

     plt.interactive(True) plt.pyplot.show() 

    Это замигает мои сюжеты. Затем настройка для «False» разрешена для просмотра.

     plt.interactive(False) plt.pyplot.show() 

    Как уже отмечалось, моя программа не выйдет, пока все окна не будут закрыты. Ниже приведены некоторые сведения о моей текущей среде: Python версии 2.7.6 | Anaconda 1.9.2 (x86_64) | (по умолчанию, 10 января 2014, 11:23:15) [GCC 4.0.1 (Apple Inc., сборка 5493)] Версия для Pandas: 0.13.1

    Комментарий от DanT исправил это для меня, matplotlib с pycharm на linux с поддержкой GTKagg. При импорте matplotlib я получил бы следующую ошибку:

     >>> import matplotlib as mpl Backend GTKAgg is interactive backend. Turning interactive mode on. Failed to enable GUI event loop integration for 'gtk' 

    Когда вы рисуете что-то вроде этого:

     from matplotlib import pyplot as plt plt.figure() plt.plot(1,2) plt.show() 

    Появится экран фигуры, но диаграммы не появятся. с помощью:

     plt.show(block=True) 

    правильно отображает графику.

    В моем случае я хотел сделать следующее:

      plt.bar(range(len(predictors)), scores) plt.xticks(range(len(predictors)), predictors, rotation='vertical') plt.show() 

    Следуя сочетанию решений здесь, моим решением было добавить до этого следующие команды:

      matplotlib.get_backend() plt.interactive(False) plt.figure() 

    причем следующие два импорта

      import matplotlib import matplotlib.pyplot as plt 

    Кажется, что все команды необходимы в моем случае, с MBP с ElCapitan и PyCharm 2016.2.3. Приветствую!

    Для новичков вы также можете убедиться, что вы запускаете свой скрипт в консоли , а не как обычный код Python. Это довольно легко выделить часть кода и запустить его .

    Вскоре после звонка

     plt.imshow() 

    вызов

     plt.show(block = True) 

    Вы получите всплывающее окно matplotlib с изображением.

    Это блокирующий способ. Дальнейший скрипт не будет работать, пока поп не будет закрыт.

    Я тестирую свою версию Pycharm (Community Edition 2017.2.2), вам может потребоваться объявить как plt.interactive (False), так и plt.show (block = True) следующим образом:

     import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 6.28, 100) plt.plot(x, x**0.5, label='square root') plt.plot(x, np.sin(x), label='sinc') plt.xlabel('x label') plt.ylabel('y label') plt.title("test plot") plt.legend() plt.show(block=True) plt.interactive(False) 
    Python - лучший язык программирования в мире.