WPF 控件库Live Charts 折线图多折线比较问题处理

使用Live Charts功能对比多条折线时当Label不是一一对应时会发现折线无法对比如

Labels = 

                    List<double> list2 = new List<double>();
                    list2.Add(2.1);    //x为0.5时
                    list2.Add(2.2);    //x为0.6时
                    list2.Add(2.3);   //x为0.7时
                    list2.Add(2.4);   //x为0.8时
                    list2.Add(2.5);   //x为0.9时
                    list2.Add(2.6);   //x为10.0时
                    list2.Add(2.7);   //x为10.1时
                    List<double> list3 = new List<double>();
                    list3.Add(3.1);   //x为0.55时
                    list3.Add(3.3);   //x为0.65时
                    list3.Add(3.4);   //x为0.75时
                    list3.Add(7.7);   //x为0.95时

                    SeriesList.Add(new LineSeries()
                    {
                        Title = kv.Key,
                        LineSmoothness = 0,
                        PointGeometry = DefaultGeometries.Circle,
                        Values = new ChartValues<double>(list1.Select(x => Double.Parse(x.ToString())).ToList()),

                        Fill = new SolidColorBrush(Colors.Transparent),
                    });
                    SeriesList.Add(new LineSeries()
                    {
                        Title = kv.Key,
                        LineSmoothness = 0,
                        PointGeometry = DefaultGeometries.Circle,
                        Values = new ChartValues<double>(list2.Select(x => Double.Parse(x.ToString())).ToList()),
                        Fill = new SolidColorBrush(Colors.Transparent),
                    });

发现折线图全是断断续续的

如果想要解决以上问题就需要修改ChartValues类型,由原来的double修改成ObservablePoint

        List<LiveCharts.Defaults.ObservablePoint> chartPoint2 = new List<LiveCharts.Defaults.ObservablePoint>();
                    for (int i = 0; i < 100; i++)
                    {
                        if (i % 5 == 0)
                        {
                            continue;
                        }
                        chartPoint2.Add(new LiveCharts.Defaults.ObservablePoint() { X = i + 1.1, Y = i + 10.1 });
                    }
                    List<LiveCharts.Defaults.ObservablePoint> chartPoint3 = new List<LiveCharts.Defaults.ObservablePoint>();
                    for (int i = 0; i < 100; i++)
                    {
                        chartPoint3.Add(new LiveCharts.Defaults.ObservablePoint() { X = i + 1.1, Y = i + 20.1 });
                    }

        SeriesList.Add(new LineSeries()
                    {
                        Title = kv.Key,
                        LineSmoothness = 0,
                        PointGeometry = DefaultGeometries.Circle,
                        Values = new ChartValues<LiveCharts.Defaults.ObservablePoint>(chartPoint2),
                        Fill = new SolidColorBrush(Colors.Transparent),

                    }); ;
                    SeriesList.Add(new LineSeries()
                    { 
                        Title = kv.Key,
                        LineSmoothness = 0,
                        PointGeometry = DefaultGeometries.Circle,
                        Values = new ChartValues<LiveCharts.Defaults.ObservablePoint>(chartPoint3),
                        Fill = new SolidColorBrush(Colors.Transparent),

                    }); 

即可解决上述问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个月太忙没时间看C++

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值