Sparrow.Chart.Wpf控件的动态调用

最近需要在Wpf程序中显示曲线,感觉Sparrow.Chart.Wpf控件不错(http://sparrowtoolkit.codeplex.com/),完全开源的一个控件支持,可以通过nuget下载。源代码中的例子完全采用MVVM方式实现,我项目中需求是完全通过代码创建控件,通过代码绑定数据,因此经过简单,实现了一个基本的例子:

首先顶一个CPU类(来自sparrow源代码):

public class CPU
    {
        private DateTime time;
        public DateTime Time
        {
            get { return time; }
            set { time = value; }
        }

        private double percentage;
        public double Percentage
        {
            get { return percentage; }
            set { percentage = value; }
        }

        private double memoryUsage;
        public double MemoryUsage
        {
            get { return memoryUsage; }
            set { memoryUsage = value; }
        }

        public CPU()
        {
        }
        public CPU(DateTime time, double percentage, double memoryUsage)
        {
            this.Time = time;
            this.Percentage = percentage;
            this.MemoryUsage = memoryUsage;
        }

然后通过一个函数产生随机数据:

private void CreateSomeData()
        {
            DateTime dt = DateTime.Now;
            System.Random rad=new Random(System.DateTime.Now.Millisecond); 
            for(int n=0;n<100;n++)
            {
                dt=dt.AddSeconds(1);
               
                CPU cpu= new CPU(dt,rad.Next(100),51);
                m_listCpu.Add(cpu);
            }
        }

最后通过代码动态创建chart控件:

CreateSomeData();
            //窗体加载事件
            SparrowChart chart = new SparrowChart();
            DateTimeXAxis xaxis = new DateTimeXAxis();
            xaxis.Interval = "0:0:1";
            chart.XAxis = xaxis;
            xaxis.Visibility = Visibility.Collapsed;

            LinearYAxis yaxis = new LinearYAxis();
            chart.YAxis = yaxis;
            yaxis.MinValue = 0;
            yaxis.MaxValue = 100;

            LineSeries ser = new LineSeries();
            chart.Series.Add(ser);
            ser.XPath = "Time";
            ser.YPath = "Percentage";
            ser.PointsSource = m_listCpu;

            rootLayout.Children.Add(chart);

 

程序运行效果图如下:

转载于:https://www.cnblogs.com/sfcyyc/p/4642894.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值