1.首先在vm中定义一个配置对象(mappers)
比如定义一个笛卡尔坐标系图表的配置文件(CartesianMapper),曲线值为PointF类型的对象,该对象的横坐标(PointF.X)对应图表的横坐标,该对象的纵坐标(PointF.Y)对应图表的纵坐标,代码如下
/// <summary>
/// 笛卡尔坐标系图表配置
/// </summary>
public CartesianMapper<PointF> CartesianMappers => Mappers.Xy<PointF>().X(p => p.X).Y(p => p.Y);
2.在前端代码中,为对应的图表对象的配置属性Configuration绑定该属性
<lvc:LineSeries Title="曲线"
DataLabels="False"
Stroke="{StaticResource PrimaryFourthSolidColorBrushStyle}"
StrokeThickness="1"
LineSmoothness="0"
Foreground="{StaticResource PrimaryFourthSolidColorBrushStyle}"
Fill="#554AB6A7"
PointGeometry="{x:Null}"
Values="{Binding RealTimeCurveValues}"
Configuration="{Binding CartesianMappers}" />
3.可以使用Charting进行全局配置,代码如下
Charting.For<PointF>(CartesianMapper);
4.曲线值可以为任意类型的对象(PointF等等)
public class Test
{
/// <summary>
/// 时间
/// </summary>
public DateTime DT { get; set; }
/// <summary>
/// 数量
/// </summary>
public int Count { get; set; }
}
public CartesianMapper<Test> TestMappers => Mappers.Xy<Test>().X(t => t.DT).Y(t => t.Count);