WPF动态图表添加多轴(Y)数据显示

简述:曲线,折线图,多条折线显示,添加动态数据,曲线动态变化;添加多个Y轴,对应不同曲线值,同时根据值变化。

1.前端代码:

  <lvc:CartesianChart Grid.Row="2" LegendLocation="Top" >
            <lvc:CartesianChart.AxisY  >
                <lvc:Axis Foreground="DodgerBlue" MinValue="0" Title="温度1号(℃)" ShowLabels="True" Position="LeftBottom">
                    <lvc:Axis.Separator>
                        <lvc:Separator Step="10" ></lvc:Separator>
                    </lvc:Axis.Separator>
                </lvc:Axis>
                <lvc:Axis Foreground="Green" MinValue="0" Title="水分1号(PPM)" Position="LeftBottom" ShowLabels="True">
                    <lvc:Axis.Separator>
                        <lvc:Separator Step="10" ></lvc:Separator>
                    </lvc:Axis.Separator>
                </lvc:Axis>
                <lvc:Axis Foreground="Black" MinValue="0" Title="真空1号(Pa)" Position="LeftBottom" ShowLabels="True">
                    <lvc:Axis.Separator>
                        <lvc:Separator Step="10" ></lvc:Separator>
                    </lvc:Axis.Separator>
                </lvc:Axis>
            </lvc:CartesianChart.AxisY>
            <lvc:CartesianChart.Series >
                <lvc:LineSeries Values="{Binding Values1}" ScalesYAt="0"    Stroke="DodgerBlue" Title="温度1号" >
                </lvc:LineSeries>
                <lvc:LineSeries Values="{Binding Values2}" ScalesYAt="1"    Stroke="Green" Title="水分1号"/>
                <lvc:LineSeries Values="{Binding Values3}"  ScalesYAt="2"    Stroke="Black" Title="真空1号"/>
            </lvc:CartesianChart.Series>
        </lvc:CartesianChart>

2.后台代码

             this.DataContext = this;
            Values1 =new ChartValues<double> { 1, 1, 2, 2, 3,1, 2};
            Values2 = new ChartValues<double> { 100, 120, 140, 150, 100, 99, 130 };
            Values3 = new ChartValues<double> { 400, 420, 430, 440, 450, 440, 480 };
            Task.Run(CurrentData);

        

  private void CurrentData()
        {
            var r = new Random();
            while (true)
            {
                if (Values1.Count>50)
                {
                    Values1.RemoveAt(0);
                    Values2.RemoveAt(0);
                    Values3.RemoveAt(0);
                }
                Values1.Add(r.Next(2,4));

                Values2.Add(r.Next(100, 110));

                Values3.Add(r.Next(400, 410));
                Thread.Sleep(1000);
             
            }
        }

        public ChartValues<double> Values1 { get; set; }
        public ChartValues<double> Values2 { get; set; }
        public ChartValues<double> Values3 { get; set; }

3.结果显示如下:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向前走,一直走

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

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

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

打赏作者

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

抵扣说明:

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

余额充值