C#在zedgraph上绘图

本文介绍了如何利用C#编程语言结合ZedGraph控件,实现高清晰度、可自由缩放的波形曲线绘制,非常适合于显示和分析各种波形数据。

由于zedgraph控件中绘制的波形曲线为矢量图,能够自由缩放,非常适合绘制波形曲线。

private void DataPro() // 数据处理
{
    try
    {
        int max_x = data_ch1.Count;
        if (max_x % 10 != 0)
        {
            max_x += (10 - (max_x % 10));
        }

        RollingPointPairList list1 = new RollingPointPairList(max_x);
        RollingPointPairList list2 = new RollingPointPairList(max_x);
        RollingPointPairList list3 = new RollingPointPairList(max_x);

        zedGraphControl1.GraphPane.CurveList[0] = zedGraphControl1.GraphPane.AddCurve("通道1", list1, Color.Blue, SymbolType.None);
        zedGraphControl1.GraphPane.CurveList[1] = zedGraphControl1.GraphPane.AddCurve("通道2", list2, Color.Red, SymbolType.None);
        zedGraphControl1.GraphPane.CurveList[2] = zedGraphControl1.GraphPane.AddCurve("通道3", list3, Color.Green, SymbolType.None);

        zedGraphControl1.GraphPane.XAxis.Scale.Min = 0; //X轴最小值0
        zedGraphControl1.GraphPane.XAxis.Scale.Max = max_x; //X轴最大30
        zedGraphControl1.GraphPane.XAxis.Scale.MinorStep = 1;//X轴小步长1,也就是小间隔
        zedGraphControl1.GraphPane.XAxis.Scale.MajorStep = 5;//X轴大步长为5,也就是显示文字的大间隔

        zedGraphControl1.GraphPane.YAxis.Scale.MaxAuto = true; // 根据数值的大小自动设置Y轴最大值
        zedGraphControl1.GraphPane.YAxis.Scale.MinAuto = true; // 根据数值的大小自动设置Y轴最小值

        for (int i = 10; i < data_ch1.Count; i++) // 排除前部异常点
        {
            zedGraphControl1.GraphPane.CurveList[0].AddPoint(i + 1, data_ch1[i]);
            zedGraphControl1.GraphPane.CurveList[1].AddPoint(i + 1, data_ch2[i]);
            zedGraphControl1.GraphPane.CurveList[2].AddPoint(i + 1, data_ch3[i]);
        }

        zedGraphControl1.Refresh();
        zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小

        if (!checkBox1.Checked)
        {
            label6.Text = 0.ToString(tag);
            zedGraphControl1.GraphPane.CurveList[0].IsVisible = false;
            zedGraphControl1.Refresh();
            zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
        }
        
        if (!checkBox2.Checked)
        {
            label7.Text = 0.ToString(tag);
            zedGraphControl1.GraphPane.CurveList[1].IsVisible = false;
            zedGraphControl1.Refresh();
            zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
        }

        if (!checkBox3.Checked)
        {
            label8.Text = 0.ToString(tag);
            zedGraphControl1.GraphPane.CurveList[2].IsVisible = false;
            zedGraphControl1.Refresh();
            zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
        }
    }
    catch
    {
        
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值