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()
Случается, что окно появляется меньше секунды, а затем снова исчезает.
- Как я могу видеть сообщения журнала при модульном тестировании в PyCharm?
- Аргументы Пихарма и sys.argv
- PyCharm Unresolved reference 'print'
- PyCharm: Py_Initialize: невозможно инициализировать стандартные потоки sys
- PyCharm: форсирование синтаксиса шаблонов Django Highligting
Используя 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 3 в PyCharm Community Edition
- Настройка теста с использованием xvfb + PyCharm + vagrant
- Невозможно установить пакеты в Pycharm
- Запуск модуля из консоли pycharm
- PyCharm не может найти библиотеку
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».
Решение было простым:
- Удалить matplotlib через pip
- Установите соответствующие библиотеки: sudo apt-get install tcl-dev tk-dev python-tk python3-tk
- Установите 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)
- Невозможно найти ссылку «xxx» в __init__.py - Python / Pycharm
- У кого-нибудь есть «темный» файл схемы pycharm?
- Пропустить системные проверки на сервере Django в режиме DEBUG в Pycharm
- Pycharm: ошибка «неразрешенной ссылки» на IDE при открытии рабочего проекта
- pyqt5 thread начался слот, не вызываемый при использовании отладчика pycharm
- Может ли PyCharm перечислить все ошибки Python в проекте?
- Intellij / Pycharm не может отлаживать модули Python
- Проблемы при отображении Interpreter (IPython) после запуска программы в PyCharm
- PyCharm - запускать соответствующий единичный тест каждый раз, когда файл сохраняется
- tput: атрибуты терминала: нет такого устройства или адреса в отладчике Windows Pycharm
- Pycharm и unittest не работают
- PyCharm: DJANGO_SETTINGS_MODULE не определено