int[] x = new int[20]; int[] y = new int[20]; float[] data = new float[20]; Point[] pot = new Point[20]; int i = 0; Font f = new Font("隶书", 10, FontStyle.Bold); private void Form1_Paint(object sender, PaintEventArgs e) { Graphics gobj = e.Graphics; HatchBrush bobj = new HatchBrush(HatchStyle.Vertical, Color.Gray, Color.Black); StringFormat sf = new StringFormat(); using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { string sql = "select no from test1 order by id"; SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { x[0] = 20; y[0] = 200; pot[0] = (new Point(x[0], y[0])); while (dr.Read()) { i++; x[i] = 20 + i * 20; y[i] = 200 - int.Parse(dr["no"].ToString()); data[i] = float.Parse(dr["no"].ToString()); pot[i] = (new Point(x[i], y[i])); //gobj.FillEllipse(Brushes.Black, x[i] - 2, y[i] - 2, 4, 4);//数据节点画黑 } //string str = ""; //for (int j = 0; j <= i; j++){ // str += (x[j].ToString() + y[j].ToString()) + ","; //} //MessageBox.Show(str); } } gobj.DrawCurve(new Pen(Color.Khaki, 2), pot, 1, i - 1, 0.05f);//数据间连曲线 for (int j = 1; j <= i; j++) { gobj.FillEllipse(Brushes.Gray, x[j] - 2, y[j] - 2, 4, 4);//数据节点画黑 gobj.DrawString(data[j].ToString(), f, bobj, x[j]-10, y[j]-13, sf);//数据文本显示在节点上方 } }
C# winform利用Graphics绘制数据折线图
猜你喜欢
转载自blog.csdn.net/qq_36439293/article/details/80741748
今日推荐
周排行