PyCharm не отображает графики и работает очень медленно - PullRequest
0 голосов
/ 07 декабря 2018

Я пробую PyCharm впервые и не могу отобразить свои графики.Можете ли вы сказать мне, что я пропустил?Я сгруппировал 2 вопроса в одном посте, потому что у меня такое чувство, что это на самом деле та же ошибка, но я не уверен.Я использую python 3.7 под Mac OS 10.11.6 (El Capitan) и не хочу обновляться.

Проблема: с тем же кодом, открывающим консоль python в PyCharm и работающим с базовым сюжетом, ноочень медленный (несколько секунд для базового примера ниже, почему?), при запуске его напрямую с помощью PyCharm (нажмите на зеленый треугольник) ничего не отображается: нет графика, нет сообщения.Почему?

Пример кода:

x = np.arange(10)
y = np.arange(10)+10
pg.plot(x,y)

В консоли python через несколько секунд это дает ожидаемый график.С кнопкой «запустить» это ничего не дает.Примечание. Скопируйте и вставьте код запуска перед 3 строками, указанными выше:

import os
import numpy as np
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'
import pyqtgraph as pg

Консоль 'run' просто говорит:

/Users/<username>/anaconda/envs/py37/bin/python /Users/<username>/work/perso/sof/test.py
Process finished with exit code 0

обновление 1:15 вечера

Следуя идее, извлеченной из комментария Эндрю, я попробовал то же самое с matplotlib (который обычно является болью по сравнению с pyqtgraph), и он работает:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.arange(10)+10
plt.plot(x,y)
plt.show()

дает сюжет, но я хотел бы использовать pyqtgraph (добавлен в тегах), и обычно достаточно 3 приведенных выше строки: не требуется команда 'show'.


update 3:20 pm

Я тоже пробовал то же самое с plotWidget, но он показывает ту же проблему.Следующий код:

import numpy as np
x = np.arange(10)
y = np.arange(10)+10
import os
import pyqtgraph as pg
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'
plotWidget = pg.plot(title='test')
plotWidget.plot(x,y)
plotWidget.plot(x,2*y)
plotWidget.plot(x,3*y)

дает ожидаемый 3-строчный сюжет при копировании в консоль python, но ничего не происходит с кнопкой «run» или ярлыком (такая же консоль «run»).

1 Ответ

0 голосов
/ 10 декабря 2018

Посмотрите на примеры pyqtgrap Скопируйте и вставьте первый пример в pycharm, и он отлично работает.(Python 3.7 с MacOS Mojave)

Вам нужно запустить цикл событий pyqt, чтобы увидеть все, что вы строите

if __name__ == '__main__':
import sys
if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
    pg.QtGui.QApplication.exec_()

Добавление этого в конец вашего скрипта должно исправитьсюжетная проблема с этим.Что касается проблем с консолью, консоль в pycharm по умолчанию - iPython, поэтому вам нужно будет запустить

%gui qt5  

, чтобы построить график с помощью pyqtgraph, но в моей системе я получаю ошибку.

Возможно, вы могли бы рассмотреть возможность использования другой IDE, такой как spyder .Я проверил график оттуда, и он работает очень хорошо.

...