Можно ли рекомендовать библиотеку диаграмм ZedGraph для .NET?

Я работаю над проектом для своей компании, и мне нужно интегрировать несколько графиков разного типа и средней сложности в C# в процессе изучения фондовых рынков. Я нашел эту бесплатную библиотеку в Интернете, ZedGraph. Если вы сталкивались с ним, вы рекомендуете его использовать? И насколько хорошо он поддерживается?


person mustafabar    schedule 11.02.2009    source источник


Ответы (7)


Я могу порекомендовать ZedGraph. Я использовал его с большим успехом в течение нескольких лет в MSQuant для большинства графиков: отображение масс-спектра, ошибка повторной калибровки графики, графики пиков ЖХ, профили количественного анализа и другие.

Вот несколько скриншотов из MSQuant, где использовался ZedGraph:

  1. График рассеяния с линией тренда
  2. График X-Y с показанными фактическими точками данных, точками данных соединения линий
  3. Закрепленный график с наложенной аннотацией (фактически TextBoxes)
  4. Несколько графиков в том же окне, типы как в 2. и 3. (два графики в нижней половине)
  5. Подробнее о типе 2.
  6. Коллаж, тип 2. и код в Visual Studio

Исходный код, стоящий за первым графиком, можно найти в Исходный код для MSQuant: frmRedicationVisualisation.vb, MSQuant/msquant/src/GUI/forms/frmRedicationVisualisation.vb..

В отличие от многих других графических библиотек, ZedGraph также можно использовать для научных/математических графиков/диаграмм (например, точечных диаграмм), а не только для графиков/диаграмм бизнес-типа. Приложения фондового рынка также могут нуждаться в распределении графиков.

В ZedGraph имеется встроенная поддержка увеличения (бесконечного) и уменьшения масштаба, панорамирования (перетаскивание, удерживая нажатой клавишу Ctrl), сохранения графика в файл или копирования его в буфер обмена.

Есть одна вещь, которой мне не хватает в ZedGraph: возможность для пользователя выбирать элементы на графике, чтобы выполнить какое-либо действие над этими выбранными элементами (например, вычислить какое-то число, принять их как проверенные или пометить их как выбросы для прикладная программа).

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

person Peter Mortensen    schedule 07.07.2009

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

Например, на это обсуждение в списке обсуждений проекта ZedGraph. :

Поэтому я сильно оптимизировал ZedGraph для всех кривых и объектов. По сути, я оптимизировал то, как он использует GDI, и специально сделал так, чтобы отображались только те объекты, которые поместятся на диаграмме.

Таким образом, теперь он прокручивается и масштабируется чрезвычайно эффективно, даже если на графике много миллионов объектов. Кроме того, он почти не использует ЦП, когда работает в режиме реального времени, поскольку более медленные скорости для отслеживания финансовых графиков.

Я также исправил несколько дефектов.

Вы можете найти ответвление репозитория с изменениями здесь.

person user423430    schedule 14.01.2011
comment
Ссылка не работает, вы не знаете, сможем ли мы найти эту оптимизированную версию? - person Daniel; 22.05.2013

Я настоятельно рекомендую Microsoft Chart Controls For .NET Framework 3.5 поверх ZedGraph.

person Jamie Ide    schedule 11.06.2009
comment
MS Chart можно использовать только в сочетании с действующей лицензией Windows. Для некоторых продуктов, клиентов или людей это совершенно невозможно. - person David Schmitt; 29.10.2009
comment
тем не менее, это хорошая находка и заслуживает +1 imo. Спасибо, Джейми Айд. - person tobsen; 01.07.2010
comment
Почему вы рекомендуете это? - person Stealth Rabbi; 23.06.2015
comment
@StealthRabbi В 2015 году я рекомендую HighCharts (есть оболочка .NET) или D3. - person Jamie Ide; 23.06.2015

Вы имеете в виду Zedgraph, а не Zgraph? Домашняя страница Zedgraph находится здесь и описана в Статья CodeProject здесь. Если вы говорите о Zedgraph, я могу порекомендовать его, у меня относительно небольшой опыт в C #, но довольно большой в визуализации данных. Мне было легко запустить Zedgraph и создавать красивые диаграммы. Zedgraph очень хорош для 2D-графиков, я все еще ищу эквивалент для 3D-графиков.

person Ian Hopkinson    schedule 11.02.2009

Я ненавижу быть убийцей, но я бы не рекомендовал ZedGraph. Я работал с ним пару лет назад и заметил, что поддержка была предоставлена ​​одним энтузиастом, который, казалось, злоупотреблял всеми, кто хотел его бесплатное программное обеспечение без какой-либо компенсации или взносов. Это проклятие, с которым столкнулись многие авторы FOSS. Не похоже, чтобы программное обеспечение обновлялось больше года, а справочный форум полон вопросов без ответов. Похоже, автор потерял интерес и загулял. Если вы используете ZedGraph, делайте это, потому что вы хотите поддерживать базовый код и потому что вы хотите внести свой вклад в сообщество пользователей/разработчиков. Если вы не заинтересованы в содействии и не можете поддерживать его для себя, будьте готовы к вещам, которые не сработают и просто никогда не сработают. Предприимчивая компания может спонсировать разработку программного обеспечения и предлагать платную поддержку, но вам нужно решить для себя, достаточно ли это хорошо для этого и существует ли реальная модель получения дохода.

Я надеюсь, что это поможет кому-то.

person Community    schedule 11.06.2009
comment
Почему что-то должно постоянно развиваться, чтобы быть полезным? ZedGraph просто работает. - person jgauffin; 14.09.2010
comment
Я получил исходный код, он так же хорош, как и ваш собственный. В любом случае, разработчики C#/.NET — одни из самых распространенных в наши дни. - person FastAl; 05.01.2011
comment
Я знаю, что этот ответ запоздал, и автор ушел. Важно отметить, что автор ZedGraph умер в 2009 г. и то, что написано о потере процентов и уходе, не соответствует действительности. ZedGraph является зрелым и живым, а его исходный код разветвлялся более сотни раз. Очевидно, автор знал, что означает простота: ZedGraph не только идеально удобен в использовании из коробки, но и благодаря элегантному видению его очень легко расширять и настраивать. - person Larry; 29.03.2020

Хотя разработка, похоже, застопорилась, отображение динамических данных WPF выглядело многообещающе.

person Winston Smith    schedule 14.09.2010

ZedGraph не поддерживает 3D-графики, такие как Surface Chart: Implied Vol Surface

person littlecodefarmer758    schedule 02.11.2012