.net c#根据数据生成多个扇形饼状图

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

C#是一种强大的编程语言,它提供了许多图形编程工具,其中包括Graphics类。Graphics类可以用于创建各种图形,包括扇形图

下面是一个简单的示例,演示如何使用C#的Graphics类生成扇形图:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace GraphicsDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            // 设置扇形的颜色
            SolidBrush brush = new SolidBrush(Color.Red);

            // 绘制扇形
            g.FillPie(brush, 50, 50, 100, 100, 0, 90);

            // 添加文本
            Font font = new Font("Arial", 12);
            brush = new SolidBrush(Color.Black);
            g.DrawString("扇形图", font, brush, 60, 120);
        }
    }
}

使用了FillPie方法来绘制扇形。该方法需要指定扇形的颜色、位置、大小和起始角度等参数

下面写一个复杂的例子,比如给了一个集合,为每一个实体写一个扇形图.

实体信息如下:

        public class StatCount
        {
            /// <summary>
            /// 名称
            /// </summary>
            public string name { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            public int count { get; set; }
        }

调用主方法,生成多个扇形图集合.

        public static List<Image> Draw(List<StatCount> list, int width = 500, int height = 500)
        {
            List<Image> listimg = new List<Image>();
            for (int i = 0; i < list.Count; i++)
            {
                System.Drawing.Bitmap image = new System.Drawing.Bitmap(width, height);
                //创建Graphics类对象,用来画饼状图
                Graphics g = Graphics.FromImage(image);
                Pen p = new Pen(new SolidBrush(Color.Blue));
                Point p1 = new Point(30, 30);
                Size s = new Size(width-60, height- 60);
                Rectangle trct = new Rectangle(p1, s);
                Font font = new Font("宋体", 10, FontStyle.Regular);
                int total = list.Sum((w) => { return w.count; });

                //画大饼
                Color color = ColorIndex(i);
              g.FillPie(new SolidBrush(color), trct, 180, f * 360);

                //写百分比文字
                g.DrawString(list[i].name + ": " + FormatCentStr(total, list[i].count), font, new SolidBrush(Color.Blue), 10, 10);

                listimg.Add(image);
             }
            return listimg;
        }

效果图如下:

附件:下载该文件资源,减少时间成本(增值服务)
完整版权,经报备授权后可商用
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
File Source
.rar
244.42 KB
文件部分展示图(单击放大)
.net c#根据数据生成多个扇形饼状图.net c#根据数据生成多个扇形饼状图.net c#根据数据生成多个扇形饼状图
留言
该资源可下载
File Source
.rar
244.42 KB
.net c#根据数据生成多个扇形饼状图.net c#根据数据生成多个扇形饼状图.net c#根据数据生成多个扇形饼状图
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章