Найти - Пользователи
Полная версия: Matplotlib(Пример из доки не работает)
Начало » GUI » Matplotlib(Пример из доки не работает)
1
Mike_Kharkov
Здравствуйте.
Только учусь питону по сути и программированию в частности.
Изучая либу матплотлиб столкнулся с примером из доки который не работает у меня:
Your text to link here…
 import numpy as np
import matplotlib.pyplot as plt
import matplotlib.lines as lines
fig = plt.figure()
l1 = lines.Line2D([0, 1], [0, 1], transform=fig.transFigure, figure=fig)
l2 = lines.Line2D([0, 1], [1, 0], transform=fig.transFigure, figure=fig)
fig.lines.extend([l1, l2])
fig.canvas.draw()

Вопрос:
почему не работает код с помощью fig.canvas.draw(это же все таки пример из доки), но все норм работает,
если вызывать окно через: plt.show() ?
JOHN_16
потому что нарисовать линию, и показать результат это совсем разные функции. Все нормально.
К примеру можно рисовать линии, строить графики и тп операции и при этом не показывать их,а например сохранять в файл или передавать в поток. Или к примеру можно рисовать на холсте когда нету даже графического окружения - т.е. сервер с консолью - тут и показывать негде.
Mike_Kharkov
JOHN_16
потому что нарисовать линию, и показать результат это совсем разные функции. Все нормально.К примеру можно рисовать линии, строить графики и тп операции и при этом не показывать их,а например сохранять в файл или передавать в поток. Или к примеру можно рисовать на холсте когда нету даже графического окружения - т.е. сервер с консолью - тут и показывать негде.

Понял.
А как тогда синтаксически правильно было бы именно показать весь холст с помощью чисто бекенда?
(не используя пиплот.)
JOHN_16
Я не совсем понял, что именно вы хотите и? главное? какую проблему хотите решить ?
Mike_Kharkov
JOHN_16
Я не совсем понял, что именно вы хотите и? главное? какую проблему хотите решить ?

Суть такова:
Пытаюсь разобраться как кодить чисто на бекенде в матплотлибе..
(А пиплот, как я понимаю это не бекенд а набор готовых решений.)

Если говорить о задаче глобальной - то это платформа по трейдингу, которая тестировала бы роботизированные стратегии на исторических данных рыночных котировок.
(вещь очень ресурсоемкая.)
Поэтому хотелось бы понять, как кодить так, что бы производительность была максимальной..
JOHN_16
Mike_Kharkov
брр мне кажется вы сами себе мозг затуманили.
Что значит кодить чисто на бэкенде? Вы в итоге что хотите получить ?
Я искренне верю что Вы чем не тем занимаетесь.
Mike_Kharkov
(А пиплот, как я понимаю это не бекенд а набор готовых решений.)
Мне таки прям интересно бы послушать факты, на основе которых вы сделали такое умозаключение.
Mike_Kharkov
JOHN_16
Mike_Kharkovбрр мне кажется вы сами себе мозг затуманили. Что значит кодить чисто на бэкенде? Вы в итоге что хотите получить ? Я искренне верю что Вы чем не тем занимаетесь.

Та особых фактов у меня пока никаких нет кроме того что пару статей(ресурсов) прочел по матплотлиб:
https://pythonworld.ru/novosti-mira-python/scientific-graphics-in-python.html
http://jenyay.net/Matplotlib/Matplotlib

+ читать пытаюсь доку сейчас(на инглише пока не очень выходит это делать)
сам я верстальщик сайтов и в программировании не силен.
Лутца прочел 1-ю книгу(страниц 800 пока осилил) - вот и весь опыт теоретический.
начал пока что то писать для себя +- интересное(поскольку раньше трейдером работал.), что бы хоть какая
то практика была.(и что бы не забыть что прочел в Лутце, закрепить навык.)

П.С. Несколько дней назад только написал свой первый код на питоне:
https://gist.github.com/Mike-Kharkov/15d129480348aa1720cba1cd94e0760f

Вот и вся история..
Возможно я неправильно понял статьи которые прочел - честно говоря пока целостной картины нет у меня по архитектуре матплотлиба.
(но про пиплот я почему то думал, что он располагается в верхнем уровне архитектуры матплотлиба.)
Собственно в данный момент и пытаюсь разобраться именно в архитектуре..
Получить хочу боле высокую производительность в перспективе.
(когда придется в режиме анимации отрисовывать чарты, считывая котировочные данные в размере 10 миллионов строк и более..)
Mike_Kharkov
JOHN_16
Я не совсем понял, что именно вы хотите и? главное? какую проблему хотите решить ?
В том конкретном случае я хотел отрисовать холст(показать его) без использования команды из пиплота - это реально?
(или в этом нет никакого смысла с точки зрения производительности и можно спокойно делать через пиплот все операции?)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB