ASP.NET 柱形图

ASP.NET C#动态显示柱形图 很多人都问这个的效果,我整了个截图发上来项目中的一个需求,不知道是不是正解,但是搞定之后觉得挺简单的,也没有用到什么插件,更不会有版权的问题,不过只是简单的柱形图而已,大家可以参照,有时忽悠一下boss或者客户还是不错的,呵呵我是横向显示柱形图, 事先准备一个窄点的图,便于动态拉伸冒充柱形图,我准备的图是高30,宽11,如下图  左右一定不要有渐变或者是边框之类的,这样横着拉伸就不 阅读详情
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <img alt="" id="code" src="Default3.aspx"  style="cursor: pointer;" />
        </div>
    </form>
</body>
</html>
 protected void Page_Load(object sender, EventArgs e)
    {
        // 在此处放置用户代码以初始化页面
        Bitmap objBitMap = new Bitmap(1000, 600);
        Graphics objGraphics;

        objGraphics = Graphics.FromImage(objBitMap);
        objGraphics.Clear(Color.White);

        //人数除以10,绘制矩形条。
        int[] arrValues = { 50, 50, 50, 50, 100, 1200 };

        //厂区
        string[] arrValueNames = new string[] { "第一纺纱厂", "第一纺纱厂", "第一纺纱厂", "第一纺纱厂", "第一纺纱厂", "第一纺纱厂" };

        //标题
        objGraphics.DrawString("三和集团人力资源柱形分析图",
            new Font("宋体", 16), Brushes.Black, new PointF(100, 5));

        PointF symbolLeg = new PointF(600, 20);

        //竖直条
        for (int i = 0; i < arrValues.Length; i++)
        {
            objGraphics.FillRectangle(new SolidBrush(GetColor(i)), (i * 80) + 15, 200 - arrValues[i], 20,
                arrValues[i] + 5);
            objGraphics.DrawRectangle(Pens.Black, (i * 80) + 15, 200 - arrValues[i], 20, arrValues[i] + 5);
            objGraphics.DrawString(arrValueNames[i].ToString(), new Font("宋体", 10), Brushes.Black, new PointF((i * 75) + 15, 50));
            objGraphics.DrawString(arrValueNames[i].ToString(), new Font("宋体", 10), Brushes.Black, new PointF((i * 75) + 15, 250));
        }

        float sglTotalValues = 0;
        for (int i = 0; i <= arrValues.Length - 1; i++)
        {
            sglTotalValues += arrValues[i];
        }


        //饼状图
        //for (int i = 0; i < arrValues.Length; i++)
        //{
        //    sglCurrentAngle = arrValues[i] / sglTotalValues * 360;
        //    objGraphics.FillPie(new SolidBrush(GetColor(i)), 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
        //    objGraphics.DrawPie(Pens.Black, 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
        //    sglTotalAngle += sglCurrentAngle;
        //}

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        objBitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType = "image/Gif";
        Response.BinaryWrite(ms.ToArray());

    }

    #region 柱形图颜色
    private Color GetColor(int itemIndex)
    {
        Color objColor;
        if (itemIndex % 2 == 0)
        {
            objColor = Color.Yellow;
        }
        else if (itemIndex % 3 == 0)
        {
            objColor = Color.Purple;
        }

        else if (itemIndex % 5 == 0)
        {
            objColor = Color.Brown;
        }

        else if (itemIndex % 7 == 0)
        {
            objColor = Color.Maroon;
        }
        else
        {
            objColor = Color.Blue;
        }
        return objColor;
    }
    #endregion


实例:

// 在此处放置用户代码以初始化页面
        Bitmap objBitMap = new Bitmap(5000, 600);
        Graphics objGraphics;

        objGraphics = Graphics.FromImage(objBitMap);
        objGraphics.Clear(Color.White);


        ZSql s = new ZSql();

        string sql = "select name,(select count(*) from employee where plantId =plant.Id";
        //开始时间 
        if (!string.IsNullOrEmpty(DBHelper.strChartStartDate))
        {
            sql += "  and  (FactoryTime >= '" + DBHelper.strChartStartDate + "')";
        }
        else
        {
            sql += "  and  (FactoryTime >= '1980-01-01')";
        }

        //截止时间
        if (!string.IsNullOrEmpty(DBHelper.strChartEndDate))
        {
            sql += "  and  (FactoryTime <= '" + DBHelper.strChartEndDate + "')";
        }
        else
        {
            sql += "  and  (FactoryTime <= '2080-01-01')";
        }

        sql += " )as ProNum from plant ";

        DataSet ds = s.DSet(sql);

        //标题
        objGraphics.DrawString("三和集团人力资源柱形分析图",
            new Font("宋体", 16), Brushes.Black, new PointF(500, 5));

        PointF symbolLeg = new PointF(600, 20);

        //竖直条
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            int ProNum = int.Parse(ds.Tables[0].Rows[i]["ProNum"].ToString());
            string name = ds.Tables[0].Rows[i]["name"].ToString();

            objGraphics.FillRectangle(new SolidBrush(GetColor(i)), (i * 80) + 30, 200 - ProNum / 10, 20, ProNum / 10 + 5);
            objGraphics.DrawRectangle(Pens.Black, (i * 80) + 30, 200 - ProNum / 10, 20, ProNum / 10 + 5);

            objGraphics.DrawString(ProNum.ToString(), new Font("宋体", 10), Brushes.Black, new PointF((i * 80) + 30, 50));
            objGraphics.DrawString(name, new Font("宋体", 10), Brushes.Black, new PointF((i * 80) + 30, 250));
        }

        ////float sglTotalValues = 0;
        ////for (int i = 0; i <= arrValues.Length - 1; i++)
        ////{
        ////    sglTotalValues += arrValues[i];
        ////}


        //饼状图
        //for (int i = 0; i < arrValues.Length; i++)
        //{
        //    sglCurrentAngle = arrValues[i] / sglTotalValues * 360;
        //    objGraphics.FillPie(new SolidBrush(GetColor(i)), 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
        //    objGraphics.DrawPie(Pens.Black, 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
        //    sglTotalAngle += sglCurrentAngle;
        //}

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        objBitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType = "image/Gif";
        Response.BinaryWrite(ms.ToArray());

    }

    #region 柱形图颜色
    private Color GetColor(int itemIndex)
    {
        Color objColor;
        if (itemIndex % 2 == 0)
        {
            objColor = Color.Yellow;
        }
        else if (itemIndex % 3 == 0)
        {
            objColor = Color.Purple;
        }

        else if (itemIndex % 5 == 0)
        {
            objColor = Color.Brown;
        }

        else if (itemIndex % 7 == 0)
        {
            objColor = Color.Maroon;
        }
        else
        {
            objColor = Color.Blue;
        }
        return objColor;
    }
    #endregion




ASP.NET ChartImage柱形图 C#绘制的柱形图片,里面的柱形样式,个数等等,都可以改变.可以用图表的形式显示数据 立即下载

相关推荐

asp.net统计 柱状图 饼状图

asp.net 统计 柱状图饼状图,,可以绘制图表

在ASP.NET中动态创建柱状图和饼图

本文来自:[url]http://www.webwoo.net/bc/bencandy-17-35292-1.htm[/url],作者不详。       在应用程序开发中,我们会经常遇到把从数据源动态取回的数据用统计图表现出来,在Microsoft .net Framework出现之前,我们采取的方法主要是编写组件来完成这一任务。现在,利用Microsoft .NET Framework提供的...

weixin_34367257的博客 137

asp.net 柱形图表四个经典实例

1、柱形表分析投票结果 2、柱形表分析网站流量 3、柱形表分析汽车销售业绩 4、在ASP.NET中使用Office组件创建立体统计图

【ASP.NET】画柱形图生成图片

【代码】【ASP.NET】画柱形图生成图片。

u012949335的专栏 268

asp.net 实现柱状图

柱状图 c# 技术 asp.net 有了这个代码做参考 您不在为实现柱状图而烦恼

优秀的图表分析例子源码

这是利用开源的图表控件构建的图表分析例子,ERP 电商等各个需要图表分析的软件都可能会使用到。本图表控件性能等还是比较优秀的。

Asp.Net实例:C# 绘制统计图(一) ——柱状图

Asp.Net实例:C# 绘制统计图 (柱状图, 折线图, 扇形图) 统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的;这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图;既然是统计, 当然需要数...

ba_wang_mao的专栏 3921

银河麒麟v10离线安装docker二进制包

因为工作需要在银河麒麟v10系统上离线部署k8s集群,k8s部署的前提是具有docker环境,因此离线安装docker成为必然。 1.下载docker包:Index of linux/static/stable/x86_64/ 选择自己合适的版本,我下载的是20.10.7 选择自己放置docker包的路径进行解压: cd /home/huawei/zq tar -zxvf docker-20.10.7.tgz 2. 给docker包解压出来的docker文件夹下的二进制文件赋..

q_hsolucky的博客 7684

ASP.NET 简单的柱形图实现(附带示例)

对于一些内部系统的项目,各种图表是在所难免的,因为图表可以更加清晰的表达出想看到的数据。因为之前从来没有做过关于图表的东西,唯一能想到的就是“验证码”,所以应该是一个思路,用GDI去搞。数据懒着去搞了,记得前些日子在亚航官网查机票,就想到这些数据还挺适合做这个DEMO的,所以就先借用一下亚航的数据喽。数据大概就是这样子的,日期及价钱。我选了其中“9月27日-10月10日”正好...

weixin_34290352的博客 366

ESD放电模式以及电源箝位 (power clamp )电路

由于ESD电压具有很快的上升速度(其ESD脉冲上升时间约在10ns左右),Vrc端的电压因为RC延迟效应无法跟得上VDD端的ESD电压上升速度,Vrc端的为低电位导致反相器工由于ESD电压具有很快的上升速度(其ESD脉冲上升时间约在10ns左右),Vrc端的电压因为RC延迟效应无法跟得上VDD端的ESD电压上升速度,Vrc端的为低电位导致反相器工作将输出端Vout电压上拉到高电位。从而Vg端的高电位触发导通了NMOS元件(Mesd)的晶体管,因而ESD电流便经由Mesd而泄放掉。由于晶体管Mesd的栅极导通

DOG_BITE_DOG的博客 2万+

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

weixin_43298211的博客 2246

asp.net 柱形图

在vs中,如果要使用柱形图,我们大多数使用第三方提供的插件,所以必须要引用样式,这里我使用的是Highcharts-4.1.9插件,百度一下就可以下载到。 关键的js代码: <script src="../Highcharts-4.1.9/js/jquery-1.8.2.min.js"></script> <style type=...

diantingpi1639的博客 140

Windows报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件的解决方法

Windows报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件的解决方法 在Windows的搜索框中输入Windows安全中心,搜索到后将其打开 点击病毒和威胁防护将鼠标移动到Microsoft Defender防病毒选项处,将定期扫描打开 下滑找到管理设置 先关闭篡改防护,再点击添加或删除排除项 先点击添加排除项,再点击文件,选择报出异常的文件,将其添加到排除项中,过程中会存在跳框确认,皆点击确定,完成后就可以运行报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件异常的文件

123 2万+

柱形图控件

柱形图控件 关键字 柱形图 asp.net2.0柱形图 柱形图控件 免费柱形图控件asp.net制作柱形图有很多方法 使用GDI+也可以实现.这里我使用的是asp.net2.0的开源柱形图控件。ZedGraph我将 他的绘图事件封装成了一个类 这样就可以方便的调用了 usingSystem;usingSystem.Data;usingSystem.Configuration;usin...

weixin_30470857的博客 133

CDR插件开发之CPG插件004 - 认识VGCore并编译生成你的第一个CPG文件

上篇文章中,讲到了使用VS2019编译CDR类型库 VGCoreAuto.tlb,编译后得到了vgcoreauto.tlh和vgcoreauto.tli两个文件。本文将对这两个文件说明,并演示通过标准的libid形式来导入CDR类型库,在这个过程中,穿插一些VS2019的使用技巧(删除目录、复制工程、打开项目或解决方案、修改解决方案名称、修改项目名称等),使读者循序渐进,逐步提高对VS2019工具的熟练程度,最后通过修改项目属性配置,生成第一个CPG文件。

Zebe 2984

华为OD机试双机位C卷-组装新的数组(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【组装新的数组】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 组装新的数组。

qq_45776114的博客 1145

[ 转 ] ASP.NET2.0轻松搞定统计图表

ASP.NET2.0轻松搞定统计图表 本文讲述如何绘制条形图,折线图,柱形图,面积图等常见图形。效果图:手把手教程:原理:OWC是Office   Web   Compent的缩写,即Microsoft的Office   Web组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如

2345

LLC变压器,常见的4大问题解决方案

其中之一是当付边的绕组的匝数或层数较多的时候,层间或匝间寄生电容和付边的漏感发生一个寄生的振荡,轻载的时候,这个振铃的幅度会达到很高,导致输出电压比设计的要高许多。但当输入是低压的时候,开关频率比较低,LLC谐振回路的增益较大,因而比较容易发生变压器饱和的问题。由于LLC变压器工作在LC谐振状态,LC谐振回路有个特点就是Q值问题,在这里Q值是大于1的,因而就会有实际加在变压器上的电压要比输入电压高的问题,因而在设计变压器的时候就必须考虑到这一点,否则变压器就不是工作在你设计的磁感应强度上。

1265

ASP.NET Chart统计报表柱形图x轴刻度隔一个显示数据解决方法

ASP.NET Chart统计报表柱形图x轴刻度隔一个显示数据解决方法

qq_40459123的博客 399

电子电气架构 --- 整车电源管理

保证启动能力:防止因电池电量耗尽而导致的车辆无法启动,这对于确保车辆在任何时候都能可靠运行至关重要。 延长电池寿命:通过避免电池深度放电,有助于延长其使用寿命,减少更换电池的需求和成本。 提升用户体验:虽然负载被关闭可能会暂时影响舒适度,但通过在必要时自动采取行动,可以减少驾驶员的焦虑和不确定性,提高整体的用户满意度。

Soly_kun的博客 1084

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ASP.NET2.0轻松搞定统计图表

本文讲述如何绘制条形图,折线图,柱形图,面积图等常见图形。效果图:手把手教程:原理:OWC是Office   Web   Compent的缩写,即Microsoft的Office   Web组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE6和Office   2000/XP/20

大森林的专栏(Jack Wu) 562

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

asp.net使用chart控件简单制作柱状体、饼图总结

http://www.jq-school.com/Show.aspx?id=311 本文章由jquery学堂2群的网友【北京-web-小虾米】整理分享,非常感谢! 效果图: 1、柱形图: html代码如下 : 01 asp:Chart ID="Chart1" runat="server" Ima

fengjiexyb的专栏 1556

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ASP NET2 0轻松搞定统计图表【月儿原创】

ASP NET2 0轻松搞定统计图表【月儿原创】

qq_43718131的博客 185
上一篇: 扫描枪
下一篇: EXCEL 替换内容
半部論語
博客等级 码龄14年 8粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值