C#绘制柱形图

2023-10-21 18:49:36 浏览数 (1)

柱形图数据

 通过 panel 绘制柱形图

代码语言:javascript复制
 private void ShowPic()
        {
            Conn();                                                    //打开数据库连接
            using (cmd = new SqlCommand("SELECT TOP 3 * FROM tb_Rectangle order by t_Num desc", con))
            {
                SqlDataReader dr = cmd.ExecuteReader();                            //创建SqlDataReader对象
                Bitmap bitM = new Bitmap(this.panel1.Width, this.panel1.Height);        //创建画布
                Graphics g = Graphics.FromImage(bitM);                            //创建Graphics对象
                g.Clear(Color.White);                                        //设置画布背景
                for (int j = 0; j < 4; j  )                                        //开始读取数据库中的数据并绘图
                {
                    if (dr.Read())                                            //读取记录集
                    {
                        int x, y, w, h;                                        //声明变量存储坐标和大小
                        g.DrawString(dr[0].ToString(), new Font("宋体", 8, FontStyle.Regular), new SolidBrush(Color.Black), 76   40 * j, this.panel1.Height - 16);                                            //绘制文字
                        x = 78   40 * j;                                        //x坐标
                        y = this.panel1.Height - 20 - Convert.ToInt32((Convert.ToDouble(Convert.ToDouble(dr[1].ToString()) * 20 / 100)));                                                            //y坐标
                        w = 24;                                            //宽
                        h = Convert.ToInt32(Convert.ToDouble(dr[1].ToString()) * 20 / 100);//高
                        g.FillRectangle(new SolidBrush(Color.FromArgb(56, 129, 78)), x, y, w, h);//开始绘制柱形图
                    }
                }
                this.panel1.BackgroundImage = bitM;                            //显示绘制的柱形图
            }
        }

0 人点赞