Renaldas
Март 12, 2021 00:25:34
Работаю с 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()
doza_and
Март 12, 2021 09:02:23
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.
:) обычно люди начинают с чтения документации по пакету а не с советов кухарок из интернета.
Renaldas
Март 12, 2021 18:53:43
doza_and
Скажите, а это идентично и в SciView окне Pycharm'a, и без него, в отдельном окне работает?
Когда я выключаю отображение графиков в SciView окне, то мне программа работает только до первого графика, и останавливается, надо закрывать окно, и тогда отрисовывает второй и тд. В SciView окне рисует без остановок, как мне и надо.
Документацию читал бы, и пробую, но она очень технично написана, пока у меня нет таких знаний в змееведении
doza_and
Март 12, 2021 20:09:45
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 проверяйте что получилось запуская скрипт из консоли.
Renaldas
Март 13, 2021 01:51:59
SciView - это отрисовка вот в таком окне, в нем рисование графика не останавливается на каждом шагу.
В PyCharm такой режим стоял по умолчанию, и он выключается снятием галочки с Show plots in tool window в пункте Python Scientific.
Ссылка
doza_and
Март 13, 2021 09:31:16
Renaldas
SciView - это отрисовка вот
Это фича версии pro. Мы ее не используем. Хотя мы наверное относимся к людям типа “python for scientific applications”.
У нас сложилась такая практика что много больше используется sublime text emacs vi notepad++. а не pycharm.
1. Размеры проектов у нас большие. Легко может получиться что pycharm уйдет на часы в индексирование..
2. Проекты включают коды на разных языках. Редактор кода pycharm в этом случае мягко говоря проигрывает обычным тектовым редакторам по удобству редактирования и скорости работы. Создание и использование проекта в смысле pycharm в таких проектах бесполезное, времязатратное и поэтому раздражающее действие.
3. Когда софт ставится у заказчика pycharm, оказывается слишком тяжеловесен для развертывания. Кроме того это ненужное финансовое и организацонное бремя если брать коммерческие версии, особенно учитывая что его перестали считать росийским продуктом. Поэтому очень полезно если разработчики привыкли к более простым инструментам и эффективно с ними работают.
Область применения pycharm ограничивается случаями когда требуется нетривиальная отладка.
Хотя тенденция на увеличение использование pycharm наблюдается.
Renaldas
Март 13, 2021 23:17:30
doza_and
Что посоветуете новичку?
Сложные проекты мне не грозят.
Может ли это быть, что Pycharm не позволяет мне добиться нескольких окон или субплотов в одном окне?
doza_and
Март 14, 2021 09:15:10
Renaldas
Может ли это быть, что Pycharm не позволяет мне добиться
На свете бывает все что угодно. Особенно с pycharm
Renaldas
Что посоветуете новичку?
Я уже посоветовал. Запустить в вашем окружении пример из документации и посмотреть что получится.