OberonCore
https://forum.oberoncore.ru/

DiaPlot - Построитель 2d графиков
https://forum.oberoncore.ru/viewtopic.php?f=90&t=3009
Страница 2 из 2

Автор:  Info21 [ Вторник, 18 Январь, 2011 16:38 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

divan писал(а):
Для обычных вьюшек такой способ (см.выше) работает
А что такое тогда "обычная вьюшка"?

Автор:  Евгений Темиргалеев [ Вторник, 18 Январь, 2011 17:01 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Пробовал Edit->Select Document и Paste Special, "as bitmap".

Дело в нереализованной
PROCEDURE (v: View) CopyFromSimpleView- (source: Views.View), NEW, EMPTY;

При копировании работает пустышка и получается пустой график.

Автор:  Иван Денисов [ Четверг, 20 Январь, 2011 06:05 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Info21 писал(а):
divan писал(а):
Для обычных вьюшек такой способ (см.выше) работает
А что такое тогда "обычная вьюшка"?
Это когда просто создаешь объект наследник Views.View. А в случае с моим построителем графиков получается вначале Axes* = POINTER TO ABSTRACT RECORD (Views.View). А потом Rendaxes = POINTER TO RECORD (Axes) END;

Автор:  Иван Денисов [ Четверг, 20 Январь, 2011 06:05 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Евгений Темиргалеев писал(а):
Пробовал Edit->Select Document и Paste Special, "as bitmap".

Дело в нереализованной
PROCEDURE (v: View) CopyFromSimpleView- (source: Views.View), NEW, EMPTY;

При копировании работает пустышка и получается пустой график.
А есть какой-нибудь понятный пример, как это сделать? Есть ли какой-то простой способ?

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 09:29 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

divan писал(а):
А есть какой-нибудь понятный пример, как это сделать?
F1
6. View Construction
6.6 Model-View separation

и пример, и объяснения

Автор:  Info21 [ Четверг, 20 Январь, 2011 10:40 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Пардон. Не пришло в голову, что проблема в таких вещах.

Автор:  Иван Денисов [ Суббота, 05 Февраль, 2011 08:59 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Добавил:
Internalize
Externalize
CopyFromSimpleView

Теперь графики копируются из документа в документ. Сохраняются и открываются. Сохраняются в растр.
Единственная проблема пока с легендой, она куда-то уплывает при открытии документа.

Обновил редакцию в svn.

Автор:  Иван Денисов [ Воскресенье, 12 Февраль, 2012 22:25 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Обновил DiaPlot в https://svn.oberoncore.ru/community/bbcc/Dia/Dia/

Также DiaPlot входит актуальный в мою сборку viewtopic.php?f=35&t=3836

Новые возможности: экспорт графика в python скрипт при клике на график правой клавишей. Скрипт использует matplotlib, что дает возможность сохранить полученный график в различных форматах, по умолчанию PNG и PDF.

Пример прилагаю к сообщению, колебания связанных осцилляторов в png и pdf.

Вложения:
Комментарий к файлу: Сохраненное в BMP отображение графика из ББ для сравнения с результатов скрипта.
50_500.jpg
50_500.jpg [ 149.99 КБ | Просмотров: 6911 ]
Комментарий к файлу: График в векторном виде, например, для статей и постеров.
50_500.py.pdf [188.11 КБ]
Скачиваний: 202
Комментарий к файлу: График из скрипта для matplotlib генерированный DiaPlot.
50_500.py.png
50_500.py.png [ 262.49 КБ | Просмотров: 6912 ]

Автор:  Евгений Темиргалеев [ Вторник, 14 Февраль, 2012 11:25 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Иван Денисов писал(а):
Новые возможности: экспорт графика в python скрипт при клике на график правой клавишей.
Выше говорилось о поддержке механизма экспорта каркасом ББ. Приблизительно это должно выглядеть так:
Вложение:
diaplotpyconv.png
diaplotpyconv.png [ 34.24 КБ | Просмотров: 6889 ]
Оформил реализацию конвертера графика DiaPlot в питон правильным для каркаса ББ способом. Выдача текста utf8 заменена на менее эффективный, но более общий вариант — выдачу через компонент Text и подходящий к нему конвертер (настраивается в Config вместе с конвертером).

Для проверки воткнул процедуру PROCEDURE DiaPlot.GetAxesPars* (a: Axes; OUT ncurves: INTEGER; OUT xmax, ymax, xmin, ymin: REAL)

В принципе, можно конвертер впихнуть прямо в DiaPlot, но, на мой взгляд тут лучше отделить мух от котлет :) Т.е. дать наружу интерфейс для опроса всех параметров графика, а конвертеры во внешний формат делать отдельными модулями.

Автор:  Иван Денисов [ Вторник, 14 Февраль, 2012 13:40 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Евгений Темиргалеев писал(а):
Оформил реализацию конвертера графика DiaPlot в питон правильным для каркаса ББ способом.
Спасибо огромное!!!

Автор:  Иван Денисов [ Вторник, 16 Октябрь, 2012 07:21 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

1. Изменил реализацию кривых в графиках, теперь неограниченное число кривых организовано в виде связанного списка;
2. Точки на кривых сделал круглыми;
3. Отрисовка происходит через DrawPath, что значительно быстрее для больших графиков;
4. Значительно улучшил конвертер в matplotlib;
5. Добавил возможность делать комментарий в левом верхнем углу графика;
6. Обновил документацию.

Совместимости со старыми графиками, к сожалению, нет. Можно было бы сделать, но думаю мало кто хранит эти графики сейчас. Поэтому не стал заморачиваться проблемами совместимости.

Выкладываю для сравнения один и тот же график в простой среде, через Cairo и результат работы сгенерированного скрипта.
(ред-р коллекции) 06.06.2013: устаревший архив компонента удалён

Вложения:
3plots.png
3plots.png [ 224.87 КБ | Просмотров: 6613 ]

Автор:  Иван Денисов [ Воскресенье, 02 Июнь, 2013 22:35 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Добавил возможности интерактивного масштабирования графиков и добавил трансляцию сообщений от элемента управления к отображению, чтобы встроенные графики тоже управлялись. Улучшено отображение графиков: обрезаны выходящие за края точки и линии. + много мелких исправлений.

Записал демо-видео.

Вот тут обновленный компонент.

Также новая версия добавлена в Красноярскую сборку.

Автор:  Иван Денисов [ Среда, 07 Август, 2013 20:29 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Обновил компонент. Собрал подсистему в одну папку Dia, добавил меню графика, меню будет пополняться новыми функциями.

Автор:  Иван Денисов [ Суббота, 26 Ноябрь, 2016 18:45 ]
Заголовок сообщения:  Re: DiaPlot - Построитель 2d графиков

Проект теперь публикуется по адресу:
http://apps.blackboxframework.org/component/DiaPlot

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/