Winform在chart图表上显示折线图

   private DataTable CreateDataTable()
        {                    
            DataTable dt = new DataTable();
            dt.Columns.Add("date");
            dt.Columns.Add("Volume1");
            dt.Columns.Add("Volume2");
            dt.Columns.Add("Volume3");

            DataRow dr;

          
            if (BG_测厚数据表.Rows.Count > 0 && BG_测厚数据表.Columns.Count > 1)
            {                     

                int RowCount = BG_测厚数据表.Rows.Count;
                for (int i = 0; i < RowCount; i++)
                {
                    // 从第 1 行开始获取 DataGridViewRow 对象  
                    DataGridViewRow row = BG_测厚数据表.Rows[i];

                    // 从第 6 列开始获取单元格的值  
                    object cellValue1 = row.Cells[5].Value;
                    object cellValue2 = row.Cells[8].Value;
                    object cellValue3 = row.Cells[11].Value;
                    dr = dt.NewRow();
                    dr["date"] = i;
                    dr["Volume1"] = cellValue1;
                    dr["Volume2"] = cellValue2;
                    dr["Volume3"] = cellValue3;
                    dt.Rows.Add(dr);
                }                      
            }
            return dt;
        }

        private void StepLine()
        {
            DataTable dt = new DataTable();
            dt = CreateDataTable();

            //设置Chart的数据源
            SC_表格1.DataSource = dt;
            //设置图标Y轴的对应项
            SC_表格1.Series[0].YValueMembers = "Volume1";
            SC_表格1.Series[1].YValueMembers = "Volume2";
            SC_表格1.Series[2].YValueMembers = "Volume3";

            //设置X轴的对应项
            SC_表格1.Series[1].XValueMember = "date";
            //绑定数据
            SC_表格1.DataBind();

            //设置网格的颜色
            SC_表格1.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineColor = Color.LightGreen;
            SC_表格1.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineColor = Color.LightBlue;


            #region 先设置为散点法显示(超出警戒线的点显示为红色,如果散点显示则使用这种判断方式)
            // foreach(DataPoint point in chart1.Serier[0].Points)
            //{
            //    if(point.YValues[0]>15000)
            //        point.Color=Color.Red;
            //}
            #endregion


            #region 先设置为折线显示(然后设置折线拐点的大小与Style)
            //设置线条的粗细
            SC_表格1.Series[0].BorderWidth = 2;
            //标记显示点的颜色
            SC_表格1.Series[0].MarkerBorderColor = Color.Blue;
            //设置点的边框粗细
            SC_表格1.Series[0].MarkerBorderWidth = 2;

            //将超限的点修改为红色区分显示

            foreach (DataPoint point in SC_表格1.Series[0].Points)
            {
                //鼠标悬停显示数据
                point.ToolTip = point.YValues[0].ToString();
                if (point.YValues[0] > 18000)
                    point.MarkerBorderColor = Color.Red;
            }
            #endregion
        }
         private void ShowAverage_Click(object sender, EventArgs e)
        {
            StepLine();
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值