Уведомления

Группа в Telegram: @pythonsu

#1 Март 12, 2021 00:25:34

Renaldas
Зарегистрирован: 2021-02-02
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

Работаю с Pycharm2020 Pro, пробую при помощи matplotlib вырисовать несколько окон графиков или несколько графиков в одном окне (субплотов). Пока ничего не получается, хотя уделил несколько часов времени этому и перепробовал каких 10-20 советов от гуугла по ключевых словам. Ни отдельные окна, ни субплоты в одном окне не появляются, а количество графиков на одной системе координат уже начинает мешать нормальному пониманию.
Это вообще возможно?

pyplot.figure(figsize = (8, 8))
pyplot.xlabel('Blocks')
pyplot.ylabel('Profitability')
pyplot.plot(eth_profitability_average_plot, color='k', linewidth=3, label='Avg ‘ + str(number_of_blocks_to_average))
pyplot.plot(eth_profitability_average_plot1, color=’k', linewidth=1, label='Avg ‘ + str(number_of_blocks_to_average1))
pyplot.plot(eth_profitability_average_plot2, color=’#13269d', linewidth=1, linestyle='–', label='Avg ‘ + str(number_of_blocks_to_average2))
pyplot.plot(eth_profitability_average_plot3, color=’#ff0000', linewidth=1, label='Avg ‘ + str(number_of_blocks_to_average3))
#pyplot.plot(eth_profitability_average_plot_no_uncles3, color=’#ffb300', linewidth=1, label='Avg (no uncles) ‘ + str(number_of_blocks_to_average3))
pyplot.plot(eth_profitability_average_plot4, color=’#0fff00', linewidth=1, label='Avg ‘ + str(number_of_blocks_to_average4))
pyplot.plot(eth_profitability_average_plot5, color=’k', linewidth=0.2, linestyle='–', label='Avg ' + str(number_of_blocks_to_average5))
pyplot.legend()
pyplot.grid(True)
pyplot.show()

Отредактировано Renaldas (Март 12, 2021 00:26:26)

Офлайн

#2 Март 12, 2021 09:02:23

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

Renaldas
Это вообще возможно?
Вообще это не вызывает ни у кого проблем.

Посоветую следующую технологию.

Заходите в примеры. https://matplotlib.org/stable/gallery/index.html
Выбираете любой какой понравится. например. https://matplotlib.org/stable/gallery/lines_bars_and_markers/cohere.html#sphx-glr-gallery-lines-bars-and-markers-cohere-py

Копипастите один в один к себе и запускаете. Если не нарисует значит у вас проблема.

p.s.
:) обычно люди начинают с чтения документации по пакету а не с советов кухарок из интернета.



Отредактировано doza_and (Март 12, 2021 09:05:34)

Офлайн

#3 Март 12, 2021 18:53:43

Renaldas
Зарегистрирован: 2021-02-02
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

doza_and
Скажите, а это идентично и в SciView окне Pycharm'a, и без него, в отдельном окне работает?
Когда я выключаю отображение графиков в SciView окне, то мне программа работает только до первого графика, и останавливается, надо закрывать окно, и тогда отрисовывает второй и тд. В SciView окне рисует без остановок, как мне и надо.
Документацию читал бы, и пробую, но она очень технично написана, пока у меня нет таких знаний в змееведении

Офлайн

#4 Март 12, 2021 20:09:45

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

ide и отладчики могут “помогать” рисовать картинки включать интерактивный режим, подсовывать свой движок отрисовки. Питон предназначен для запуска из консоли, остальные бантики на ваш страх и риск.

Я не знаю что такое sciview. А в pycharm если я им пользуюсь то я отключаю интерактивный режим который включает IPython используемый по умолчанию в этой иде.

Несколько окон можно получить если создавать разные фигуры.

 >>> plt.figure(1)
<Figure size 640x480 with 0 Axes>
>>> plt.plot([1,2,3],[4,5,6])
[<matplotlib.lines.Line2D object at 0x000000541977DEF0>]
>>> plt.figure(2)
<Figure size 640x480 with 0 Axes>
>>> plt.plot([1,2,3],[6,7,8])
[<matplotlib.lines.Line2D object at 0x000000541931BCF8>]
>>> plt.show()

По команде show() запуститься общий для нескольких окон цикл обработки сообщений
Если режим интерактивный важно запустить весь этот блок одной командой.

Чтобы не запутаться в эффектах привносимых разными иде отладчиками или не дай бог Jupiter проверяйте что получилось запуская скрипт из консоли.



Отредактировано doza_and (Март 12, 2021 20:14:36)

Офлайн

#5 Март 13, 2021 01:51:59

Renaldas
Зарегистрирован: 2021-02-02
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

SciView - это отрисовка вот в таком окне, в нем рисование графика не останавливается на каждом шагу.
В PyCharm такой режим стоял по умолчанию, и он выключается снятием галочки с Show plots in tool window в пункте Python Scientific.



Ссылка

Отредактировано Renaldas (Март 13, 2021 01:54:51)

Офлайн

#6 Март 13, 2021 09:31:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

Renaldas
SciView - это отрисовка вот
Это фича версии pro. Мы ее не используем. Хотя мы наверное относимся к людям типа “python for scientific applications”.
У нас сложилась такая практика что много больше используется sublime text emacs vi notepad++. а не pycharm.
1. Размеры проектов у нас большие. Легко может получиться что pycharm уйдет на часы в индексирование..
2. Проекты включают коды на разных языках. Редактор кода pycharm в этом случае мягко говоря проигрывает обычным тектовым редакторам по удобству редактирования и скорости работы. Создание и использование проекта в смысле pycharm в таких проектах бесполезное, времязатратное и поэтому раздражающее действие.
3. Когда софт ставится у заказчика pycharm, оказывается слишком тяжеловесен для развертывания. Кроме того это ненужное финансовое и организацонное бремя если брать коммерческие версии, особенно учитывая что его перестали считать росийским продуктом. Поэтому очень полезно если разработчики привыкли к более простым инструментам и эффективно с ними работают.

Область применения pycharm ограничивается случаями когда требуется нетривиальная отладка.
Хотя тенденция на увеличение использование pycharm наблюдается.



Отредактировано doza_and (Март 13, 2021 10:36:50)

Офлайн

#7 Март 13, 2021 23:17:30

Renaldas
Зарегистрирован: 2021-02-02
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

doza_and

Что посоветуете новичку?
Сложные проекты мне не грозят.
Может ли это быть, что Pycharm не позволяет мне добиться нескольких окон или субплотов в одном окне?

Офлайн

#8 Март 14, 2021 09:15:10

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как создать несколько окон графиков или несколько графиков в одном окне?

Renaldas
Может ли это быть, что Pycharm не позволяет мне добиться
На свете бывает все что угодно. Особенно с pycharm

Renaldas
Что посоветуете новичку?
Я уже посоветовал. Запустить в вашем окружении пример из документации и посмотреть что получится.



Отредактировано doza_and (Март 14, 2021 09:42:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version