gpt4 book ai didi

c# - 自定义LiveChart中单个数据的颜色

转载 作者:行者123 更新时间:2023-11-30 23:09:16 25 4
gpt4 key购买 nike

是否可以以及如何在LiveChart中自定义单个数据颜色?我不希望在后面的代码中使用一系列相同的配色方案,而是希望以编程和有条件的方式为单个数据列着色。我认为,作为一种变通方法,可以像红色系列{null,null,null,7.8,null}和绿色系列{2,3,2,null,4}那样分离并覆盖该系列,但是它的确很输入,并且我不能传递null。

简而言之,我如何从左到右:

enter image description here

[编辑1]

我阅读了建议的链接,但映射器在LineSeries上似乎无法正常工作。

cvValues = new ChartValues<double>() { 1.01, 2.02, 3.03, 4.04, 1.01, 2.02, 3.03, 4.04, 1.01, 2.02 };
cvUSL = new ChartValues<double>() { 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 };
cvLSL = new ChartValues<double>() { 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5 };

DangerBrush = new SolidColorBrush(Colors.Red);

mapper1 = new CartesianMapper<double>()
.X((value, index) => index + 1)
.Y((value, index) => value)
.Fill((value, index) => value > 3.5 ? DangerBrush : null)
.Stroke((value, index) => value > 3.5 ? DangerBrush : null)
.Fill((value, index) => value < 1.5 ? DangerBrush : null)
.Stroke((value, index) => value < 1.5 ? DangerBrush : null);

DataContext = this;


这是我的XAML(如果数据超出上限或下限,只想用红色填充)

<lvc:LineSeries x:Name="lsUSL"
Values="{Binding cvUSL}"
PointGeometrySize="0"
PointForeground="White"
Stroke = "Turquoise"
StrokeDashArray = "8"
StrokeThickness = "0.8"
Fill = "Transparent"
Configuration="{Binding mapper1}"/>

<lvc:LineSeries x:Name="lsLSL"
Values="{Binding cvLSL}"
PointGeometrySize="0"
PointForeground="White"
Stroke = "Turquoise"
StrokeDashArray = "8"
StrokeThickness = "0.8"
Fill = "Transparent"
Configuration="{Binding mapper1}"/>

<lvc:LineSeries x:Name="lsValues"
Values="{Binding cvValues}"
PointGeometrySize="5"
PointForeground="Green"
Stroke = "Gray"
StrokeThickness = "1"
Fill = "Transparent"
Configuration="{Binding mapper1}"/>

最佳答案

看看StackOverflow上的Question和gitthub上的Issue。我想你可以在那里找到答案。

关于c# - 自定义LiveChart中单个数据的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com