C#如何绘制饼状图和柱状图
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍C#如何绘制饼状图和柱状图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下#代码如下:using System;using System.Collec
千家信息网最后更新 2026年11月02日C#如何绘制饼状图和柱状图
这篇文章主要介绍C#如何绘制饼状图和柱状图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
#代码如下:
using System;using System.Collections;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace TEST3._2{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { BarMap(); } private void BitMap()//饼状图 { int[] saleNum = { 300, 500, 400 }; int sum = 0, threeNum = 0, fourNum = 0, fiveNum = 0; for (int i = 0; i < saleNum.Length; i++) { sum += saleNum[i]; if (i == 0) threeNum = saleNum[0]; else if (i == 1) fourNum = saleNum[1]; else fiveNum = saleNum[2]; } int height = pictureBox1.Height, width = pictureBox1.Width; Bitmap bitmap = new Bitmap(width, height); Graphics g = Graphics.FromImage(bitmap); g.Clear(Color.White); Pen pen1 = new Pen(Color.Red); Brush brush2 = new SolidBrush(Color.PowderBlue); Brush brush3 = new SolidBrush(Color.Blue); Brush brush4 = new SolidBrush(Color.Wheat); Brush brush5 = new SolidBrush(Color.Orange); Font font1 = new Font("Couriter New", 16, FontStyle.Bold); Font font2 = new Font("Couriter New", 10); g.FillRectangle(brush2, 0, 0, width, height); g.DrawString("每月销售占比饼状图", font1, brush3, new Point(70, 20)); int piex = 100, piey = 60, piew = 200, pieh = 200; float angle1 = Convert.ToSingle((360 / Convert.ToSingle(sum)) * Convert.ToSingle(threeNum)); float angle2 = Convert.ToSingle((360 / Convert.ToSingle(sum)) * Convert.ToSingle(fourNum)); float angle3 = Convert.ToSingle((360 / Convert.ToSingle(sum)) * Convert.ToSingle(fiveNum)); g.FillPie(brush3, piex, piey, piew, pieh, 0, angle1); g.FillPie(brush4, piex, piey, piew, pieh, angle1, angle2); g.FillPie(brush5, piex, piey, piew, pieh, angle1 + angle2, angle3); g.DrawRectangle(pen1, 50, 300, 310, 130); g.FillRectangle(brush3, 90, 320, 20, 10); g.DrawString(string.Format("3月份销量占比:{0:P2}", Convert.ToSingle(threeNum) / Convert.ToSingle(sum)), font2, brush3, 120, 320); g.FillRectangle(brush4, 90, 360, 20, 10); g.DrawString(string.Format("4月份销量占比:{0:P2}", Convert.ToSingle(fourNum) / Convert.ToSingle(sum)), font2, brush3, 120, 360); g.FillRectangle(brush5, 90, 400, 20, 10); g.DrawString(string.Format("5月份销量占比:{0:P2}", Convert.ToSingle(fiveNum) / Convert.ToSingle(sum)), font2, brush3, 120, 400); this.groupBox1.Text = "饼状图"; this.pictureBox1.Width = bitmap.Width; this.pictureBox1.Height = bitmap.Height; this.pictureBox1.BackgroundImage = bitmap; } private void BarMap()//柱状图 { int[] saleNum = { 300, 500, 400 }; int sum = saleNum[0]+ saleNum[1]+ saleNum[2]; float[] Y_Num ={ Convert.ToSingle(saleNum[0]) / Convert.ToSingle(sum),Convert.ToSingle(saleNum[1]) / Convert.ToSingle(sum), Convert.ToSingle(saleNum[2]) / Convert.ToSingle(sum) }; int height = pictureBox1.Height, width = pictureBox1.Width; Bitmap image = new Bitmap(width, height); //创建Graphics类对象 Graphics g = Graphics.FromImage(image); try { //清空图片背景色 g.Clear(Color.White); Font font = new Font("Arial", 10, FontStyle.Regular); Font font1 = new Font("宋体", 20, FontStyle.Bold); LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height),Color.Blue, Color.BlueViolet, 1.2f, true); Font font2 = new System.Drawing.Font("Arial", 10, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Red); SolidBrush mybrush3 = new SolidBrush(Color.Green); Pen mypen = new Pen(brush, 1); //绘制线条 //绘制横向线条 int x = 100; Pen mypen1 = new Pen(Color.Blue, 2); x = 60; g.DrawLine(mypen1, x, 0, x, 300); //绘制纵向线条 int y = 0; for (int i = 0; i <11; i++) { g.DrawLine(mypen, 45, y, 60, y); y = y + 30; } g.DrawLine(mypen1, 60, y-30, 620, y-30); //x轴 String[] n = { "3月份", "4月份", "5月份"}; x = 100; for (int i = 0; i < 3; i++) { g.DrawString(n[i].ToString(), font, Brushes.Blue, x, 300); //设置文字内容及输出位置 Console.WriteLine(300 - Y_Num[i] * 100 * 3); g.FillRectangle(mybrush, x, 300 - Y_Num[i] * 100 * 3, 20, Y_Num[i] * 100 * 3); g.DrawString(Y_Num[i].ToString(), font2, Brushes.Green, x, 300 - Y_Num[i] * 100 * 3 - 15); x = x + 100; } //y轴 String[] m = {"0","0.10","0.20", "0.30", "0.40", "0.50", "0.60", "0.70", " 0.80"," 0.90", " 1.00" }; y = 0; for (int i = 10; i >= 0; i--) { g.DrawString(m[i].ToString(), font, Brushes.Blue, 20, y); //设置文字内容及输出位置 y = y + 30; } //绘制标识 Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Regular); g.DrawRectangle(new Pen(Brushes.Blue), 170, 390, 250, 50); //绘制范围框 g.FillRectangle(Brushes.Red, 200, 410, 20, 10); //绘制小矩形 g.DrawString("月销量占比", font3, Brushes.Red, 292, 408); this.button1.Text = "查看饼状图"; this.groupBox1.Text = "柱状图"; this.pictureBox1.Width = image.Width; this.pictureBox1.Height = image.Height; this.pictureBox1.BackgroundImage = image; } catch { } } private void Button1_Click(object sender, EventArgs e) { BitMap(); this.button1.Visible =false;//隐藏button } }}以上是"C#如何绘制饼状图和柱状图"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
月份
柱状
内容
销量
线条
C#
篇文章
代码
价值
位置
兴趣
图片
宋体
对象
小伙
小伙伴
文字
更多
标识
横向
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技靠谱吗
互联网是第几次科技革命的成果
互联网和科技技术
互联网科技有限公司经营范围
互联网科技会
与互联网科技公司
互联网科技开发公司
易互联网科技有限公司
喔噻互联网科技
上海挚品互联网科技
互联网与新科技
丰台科技园 互联网
沃里互联网科技
时间互联网络科技
四个字互联网科技公司取名
互联网科技股午盘股票涨跌
科技赋能互联网健康
互联网科技热点资讯
国大互联网教育科技有限公司工作
互联网科技创新创业项目
互联网络科技
西安纸贵互联网科技有限公司
互联网医疗科技
中国互联网金融科技基金
隆华科技工业互联网
互联网科技有哪些公司
福州德业互联网科技
兰石爱特工业互联网科技分公司
科技和互联网行业的特点
互联网科技自媒体灵感