Библиотеки и технологии, которые помогут мне построить диаграмму Марейса

Мне нужен компонент для отображения и взаимодействия с диаграммой Марей.

Для тех, кто не знаком, диаграмма Мери — это диаграмма для визуализации движения поездов по оси «Время x Местоположение». Очень похоже на это изображение:

введите описание изображения здесь

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

Мои компоненты должны быть:

  • Высокая производительность - он будет отображать данные в реальном времени вместе с взаимодействием с пользователем.
  • Высоко интерактивный — пользователь может щелкать по линиям, изменять их, перетаскивая, масштабируя, панорамируя, удаляя, добавляя и т. д.

Сейчас я больше склоняюсь к веб-решению, используя HTML5 Canvas из соображений производительности, но у меня нет большого опыта рисования диаграмм в настольных приложениях (с использованием JavaFX или C# Canvas), чтобы знать, являются ли они лучшими вариантами. Итак, задавая вопросы:

  • Знаете ли вы какую-нибудь библиотеку/компонент, которая помогла бы мне разработать это? (JS, Java или C#)
  • Видите ли вы/имели ли вы какие-либо проблемы с производительностью при разработке веб-решения в подобном сценарии?
  • Считаете ли вы HTML5 Canvas поверх SVG (например, D3) хорошим подходом?

Я ценю любую рекомендацию или комментарий по этому поводу. Спасибо!

Ответы (1)

Essential Chart для WPF — это вариант для настольных приложений. Я проверю варианты, связанные с Интернетом, и опубликую отдельный ответ, если они у нас есть.

Диаграмма Syncfusion Marey

Пример исходного кода

Вам необходимо загрузить библиотеки DLL Syncfusion с их веб-сайта или из Nuget, чтобы иметь возможность запустить образец. Для достижения требований были использованы следующие функции:

  1. DateTimeAxis для вертикальной оси
  2. FastLineSeries для хорошей производительности
  3. EnableScrollbar для оси позволяет панорамировать и масштабировать
  4. Метки верхней оси с использованием нескольких осей для диаграммы и настройка CustomLabels
  5. Метка с перекрестием для верхней оси с использованием конвертера меток
  6. SfDateTimRangeNavigator для отображения полных данных под диаграммой

Весь продукт доступен бесплатно по лицензии сообщества, если вы соответствуете требованиям (доход менее 1 миллиона долларов США).

Примечание: я работаю в Syncfusion.