Как стать автором
Обновить

Комментарии 36

Спасибо большое за статью!
Помню как сильно намучался с курсовой программой, куда надо было вставить один одинокий график, и действительно, я зачем то придумал велосипед…
Надо было чуть больше погуглить))
Очень часто бесплатные библиотеки перекрываются в поиске платными и обилием ссылок на платные компоненты. Тут представлены бесплатные :)
Аналогично, при выполнении небольшого проекта для чего-то изобретал не очень красивый и не многофункциональный способ отображения данных систем реального времени.

Статья в первую очередь экономит время и дает возможность создания современных интерфейсов.
Добавлю от себя. Подключаю на данный момент Visifire. Большое количество типов графиков, сами графики выглядят довольно стильно и красиво. Для Silverlight и WPF. Двойная лицензия (платная и для «community» по лицензии GNU General Public License). По производительности пока ничего не могу сказать, толком не работал еще.
На сайте имеется редактор графиков с возможностью просмотра XAML и HTML.
Ковырял эти графики. В принципе неплохие, но почему-то используют WinForms-идеологию. Т.е. там почти полностью отсутствуют стили и шаблоны, а весь внешний вид задается свойствами.

Глюков хватает, но фиксятся они часто. Только вот цену недавно подняли с 250 до 400 баксов, ироды.
Использовал на одном из своих проектов, последнию бету. Контрол очень приятный и удобный, правда есть несколько но, на больших объемах динамических данных, он не успевал отрисовываться + были какие-то баги с зумом по Х.
У вас картинки очень веселые в заголовках статей
У всех «Низкая производительность на больших объемах данных». Это в сравнении с чем-то?
Это вообще. Когда делал свой проект, необходимо было в рантайме работать с данными за 40 лет, дискретность — 10 значений в секунду, на 30 открытых графиках. Ни одна библиотека не дала мне грамотной реализации функционала «на месте». Пришлось городить костыли, кэширующие все через жесткий диск. Получилось в итоге по производительности, конечно, здорово, но обертки вокруг либ оказались не удобными. DynamicDataDisplay тормозит даже на маленьком количестве данных. Обещали вывод через DirectX, однако мое мнение — все упирается в нереальное количество вызовов внутри WPF при изменении данных. Так делать нельзя. Большой объем данных для WPF — сложноватая задачка.
Я не говорю что кэширование должно быть в библиотеках, отвечающих за чарт, но соответствующие интерфейсы без реализации они должны предоставлять. Не все хотят выводить 5 прямоугольников на экран. Бывает, что данных очень много.
12.614.400.000 значений на график? странно что он вообще не взорвался.
Принимать можно какой-нибудь ICachedDataSet, который содержит набор методов, необходимых графической подсистеме для автоматического плавного скроллинга значений и подписей к ним вместо того чтобы принимать вектора и прочие массивы, чтобы разработчик взрывал мозг, когда менять значения в массивах, чтобы на коротком массиве обеспечить вывод 12.614.400.000 значений на график. Этот интерфейс я с радостью реализую через жесткий диск, например. Но дайте мне этот интерфейс.
А, понял. Вам нужен аналог ListBox, когда он работает в VirtualMode. Такое в Дельфи было. Элемент управления говорил что ему нужен элемент для определеного индекса списка. ну да, логино такое сделать в чартах.
В визифайре как раз на днях такая фича появилась. Не знаю насколько хорошо работает.
Странно, что для такого вообще используется .net. Это система для быстрой разработки, но отнюдь не для быстрой работы. У них довольно простая философия: процессорное время стоит дешевле времени программиста. Что-то не работает достаточно быстро? Покупайте 16-ядерный процессор. Мне они за это не очень нравятся.
А они ж по началу хвастались тем, что на лету будут компилять под машину пользователя оптимальнейший лично для неё код, типа настолько оптимальный, что никакие пред-компилированные под сферическую машину в вакууме программы не обгонят! :)
Так и есть, у .net платформы высокая оптимизация, иной раз реально быстрее. но ведь это не защищает программу от квалификации программиста :) Если человек будет возводить в 100 степень 100 перемножениями, тут никакой компилятор не спасет.
Анализ утекших данных о погоде?
/*шутка*/
котировки от биржи :)
Большой объем в WPF не нужен. Нужно было готовить данные и агрегировать перед WPF.

посмотрите в mipmaps.
было бы очень клёво всё-таки указать их производительность относительно друг друга. Если у вас есть такие данные, поделитесь, пожалуйста :) Критерий производительноти для многих будет очень важен, а ультра-большой набор данных, как в вашем случае, актуален не для всех
Да с .Net — часто стоит посупать так. Надо что-то срочно сделать, но задачка — типовая, заходим и ищем на codeplex.

Еще, что положительное в DDD, то что есть нормальная документация и русские разработчики, так что если что-то совсем не получается, то можно спросить)
А с помощью какой библиотеки можно вывести pie chart со слайсами разной высоты?
Нет, это же обычный pie chart. Надо вот так, только забесплатно.
НЛО прилетело и опубликовало эту надпись здесь
Microsoft Chart Controls очень сильно напоминает творения Dundas. Они их купили?
Год назад я не нашел готовой библиотеки для графиков в .NET Compact Framework, пришлось делать велосипед :(
Интересно, какие из библиотек можно безболезненно перенести на .NET CF?
Ну, во-первых, это актуально только для WinForms, в ASP.NET уже не катит. Плюс в таком случае они могут огрести проблем, например с несовместимыми GDI+ шрифтами. Ну а в-третьих, в большинстве современных .NET чартов тормозит вовсе не отрисовка, а обработка данных, которые рисовать не надо, а также расчёт всего лейаута.

А вообще, если уж реально заботиться об отображении больших объёмов данных, то для этого по идее создают специальный вид серий, у которого отключены некоторые «тяжелые» фичи и который специально оптимизирован для больших объёмов данных, как, например, наш SwiftPlot.
Спасибо за статью. Будет ли обзор по гридам?
Со временем — да, все будет :)
А есть ли подобные компоненты, которые бы умели редактировать данные графиков? Т.е., допустим, у меня есть некоторое распределение величины в течении дня, я бы хотел показать ее пользователю ввиде кривой и, в случае, если она его не устраивает, он бы ее мышкой подкорректировал.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации