Вопрос или проблема
Я ищу библиотеку для построения графиков, которая может сделать линейный график, как этот:
Но чтобы можно было использовать разные цвета между точками, например: между T1 и E2 мне нужен красный, а между E2 и E3 линия должна быть синей, как на этом:
Пока я нашел только библиотеки, которые могут установить цвет для всей линии, но не для ее отдельных частей.
Может кто-то порекомендовать библиотеку, которая может менять цвет линии посреди графика?
Essential Chart для Windows Forms поддерживает настройку цвета сегмента линии.
Обратите внимание, что для компиляции примера требуется установить Essential Studio.
Весь продукт доступен бесплатно через лицензию сообщества, если вы соответствуете критериям (до 1 миллиона долларов США дохода).
Примечание: Я работаю в Syncfusion.
Infragistics для WPF-контролей может сделать это за несколько строк xaml. Привязывается к наблюдаемой коллекции.
Используйте шаблон mvvm при работе с wpf на C#
Ответ или решение
Библиотека для построения графиков с разными цветами в C
Если вы ищете библиотеку для построения линейного графика с возможностью изменения цвета отдельных сегментов, у вас есть несколько отличных вариантов на выбор. Этот запрос выполним с использованием современного программного обеспечения, поддерживающего динамическую стилизацию графиков. В данной статье мы рассмотрим два подходящих решения — Syncfusion Essential Chart для Windows Forms и Infragistics для WPF.
Syncfusion Essential Chart для Windows Forms
Syncfusion Essential Chart — это мощная библиотека для построения графиков, которая предоставляет множество опций для настройки визуализации данных. Одним из ключевых преимуществ этой библиотеки является возможность изменять цвет отдельных сегментов линии на графике.
Пример использования
- Для начала, необходимо установить Essential Studio, который требуется для компиляции примеров.
- Вы сможете использовать следующий код для задания цвета между точками:
LineSegment segment = new LineSegment();
segment.StartPoint = new Point(20, 50);
segment.EndPoint = new Point(80, 100);
segment.Color = Colors.Red; // Цвет сегмента
LineSegment segment2 = new LineSegment();
segment2.StartPoint = new Point(80, 100);
segment2.EndPoint = new Point(140, 150);
segment2.Color = Colors.Blue; // Цвет следующего сегмента
myChart.Series[0].LineSegments.Add(segment);
myChart.Series[0].LineSegments.Add(segment2);
Это решение позволяет вам управлять цветами линий на графике в зависимости от условий или данных.
Лицензирование
Важно отметить, что Syncfusion предлагает бесплатную лицензии сообщества для организаций, чей доход менее 1 миллиона долларов США. Это делает библиотеку доступной для стартапов и малых компаний.
Infragistics для WPF
Infragistics является еще одним отличным вариантом для разработки графиков с дифференцированными цветами сегментов. Эта библиотека позволяет определить цвет линий в XAML, что делает ее интеграцию с проектами WPF простой и удобной.
Пример использования
Удалите сложности из вашего графика с помощью MVVM паттерна. Пример кода может выглядеть следующим образом:
<igDP:XYChart>
<igDP:LineSeries ItemsSource="{Binding Data}">
<igDP:LineSeries.Style>
<Style TargetType="igDP:LineSeries">
<Setter Property="Stroke">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="Red" Offset="0.0"/>
<GradientStop Color="Blue" Offset="1.0"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</igDP:LineSeries.Style>
</igDP:LineSeries>
</igDP:XYChart>
Это обеспечивает простоту работы с цветами линий и легкость управления визуализацией ваших данных.
Заключение
В заключение, для создания линейных графиков с цветотерапией отдельных сегментов, следуйте указанным выше примерам с использованием библиотек Syncfusion и Infragistics. Обе библиотеки предоставляют гибкие инструменты для настройки визуализации, что делает их отличными решениями для ваших проектов на C#. Выбор между ними зависит от вашего стека технологий и предпочтений в разработке.
Обязательно рассматривайте бесплатную лицензию сообщества от Syncfusion, если вы подходит под ее требования, чтобы сэкономить на затратах разработки. Надеюсь, эта информация поможет вам в выборе подходящей библиотеки для ваших задач по построению графиков.