C#利用zedgraph绘制曲线

本文介绍了如何在C#中利用ZedGraph库绘制三通道曲线图。根据通道选项,可以选择性地展示数据。绘制完成后,通过应用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轴最小值

        zedGraphControl1.Refresh();
        zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
		for (int i = 0; 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]);
            // data_ch1, data_ch2, data_ch3分别为存放通道1,通道2和通道3数据的数组
        }
        if (!checkBox1.Checked) // 通道1选项框未勾选情况
        {
            zedGraphControl1.GraphPane.CurveList[0].IsVisible = false;
            zedGraphControl1.Refresh();
            zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
        }
        
        if (!checkBox2.Checked) // 通道2选项框未勾选情况
        {
            zedGraphControl1.GraphPane.CurveList[1].IsVisible = false;
            zedGraphControl1.Refresh();
            zedGraphControl1.RestoreScale(zedGraphControl1.GraphPane);          //恢复默认大小
        }

        if (!checkBox3.Checked) // 通道3选项框未勾选情况
        {
            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、付费专栏及课程。

余额充值