dotnetcharting 生成柱状图,饼图等统计图

DotNetCharting是一个非常棒的.NET图表控件,对中文支持非常好,而且操作方便,开发快速,既有for webform 也有for winform的,而且.net1.1和2.0都有支持。官方地址是http://www.dotnetcharting.com/

简单使用方法:

1.首先要搞定帮助文档:从官方网站下载解压后把dotnetcharting4.2for1.x目录设置成虚拟目录,.net1.1的环境,然后就可以看帮助示例了。
2.把\bin\dotnetCHARTING.dll添加到工具箱,并且添加引用
3.把控件拖到你的网页上,然后添加引用using dotnetCHARTING;就可以用了
4.说下简单的柱状图的用法(动态获取数据):它有个type属性决定是柱状图还是饼图或是其他,设置成Combo就是柱状图;

 private void Drawing(Arraylist list)
        {
            Charting show = new Charting();
            show.Title =  "MyChart";
            show.YTitle = "Y Axis Label";
            show.XTitle = "X Axis Label";
            show.PicHight = 400;
            show.PicWidth = 400;
            show.SeriesName = "具体详情";
            show.PhaysicalImagePath = @"~/pictrue";  //此为图片保存的路径,不存在则会无法显示(下同)
            show.FileName = "Combo.png";
            show.Type = ChartType.Combo;//combo为柱状图,pie为饼图
            show.Use3D = false;
            show.DataSource = GetDataSource();
            show.CreateStatisticPic(this.Chart1);
    } 

 private SeriesCollection GetDataSource()
        {
             SeriesCollection SC = new SeriesCollection();
             Random myR = new Random();
             for(int a = 0; a < 4; a++)
             {
                  Series s = new Series();
                  s.Name = "Series " + a;
                  for(int b = 0; b < 5; b++)
                  {
                       Element e = new Element();
                       e.Name = "E " + b;
                       e.YValue = myR.Next(50);
                       s.Elements.Add(e);
                  }
                  SC.Add(s);
               }
         }

  

/*
 * author: peace
 * email: [email protected]
 * date : 2009-4-18
 */
using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Web;
using dotnetCHARTING;

namespace ChartExtents
{
    /// <summary>
    /// Charting 的摘要说明
    /// </summary>
    public class Charting
    {
        private string _phaysicalimagepath;//图片存放路径
        private string _title; //图片标题
        private string _xtitle;//图片x座标名称
        private string _ytitle;//图片y座标名称
        private string _seriesname;//图例名称
        private int _picwidth;//图片宽度
        private int _pichight;//图片高度
        private ChartType _type;//统计图类型(柱形,线形等)
        private bool _use3d;//是否显示成3维图片
        private SeriesCollection _dt;//统计图数据源
        private string _filename;//统计图片的名称(不包括后缀名)

        /**/
        /// <summary>
        /// 图片存放路径
        /// </summary>
        public string PhaysicalImagePath
        {
            set { _phaysicalimagepath = value; }
            get { return _phaysicalimagepath; }
        }
        /**/
        /// <summary>
        /// 图片标题
        /// </summary>
        public string Title
        {
            set { _title = value; }
            get { return _title; }
        }
        /**/
        /// <summary>
        /// 图片x座标名称
        /// </summary>
        public string XTitle
        {
            set { _xtitle = value; }
            get { return _xtitle; }
        }
        /**/
        /// <summary>
        /// 图片y座标名称
        /// </summary>
        public string YTitle
        {
            set { _ytitle = value; }
            get { return _ytitle; }
        }

        /**/
        /// <summary>
        /// 图例名称
        /// </summary>
        public string SeriesName
        {
            set { _seriesname = value; }
            get { return _seriesname; }
        }
        /**/
        /// <summary>
        /// 图片宽度
        /// </summary>
        public int PicWidth
        {
            set { _picwidth = value; }
            get { return _picwidth; }
        }
        /**/
        /// <summary>
        /// 图片高度
        /// </summary>
        public int PicHight
        {
            set { _pichight = value; }
            get { return _pichight; }
        }

        /// <summary>
        /// 统计图类型(柱形,线形等)
        /// </summary>
        public ChartType Type
        {
            set { _type = value; }
            get { return _type; }
        }

        /// <summary>
        /// 是否将输出的图片显示成三维
        /// </summary>
        public bool Use3D
        {
            set { _use3d = value; }
            get { return _use3d; }
        }

        /// <summary>
        /// 对比图形数据源
        /// </summary>
        public SeriesCollection DataSource
        {

            set { _dt = value; }
            get { return _dt; }
        }

        /// <summary>
        /// 生成统计图片的名称
        /// </summary>
        public string FileName
        {
            set { _filename = value; }
            get { return _filename; }
        }

        /// <summary>
        /// 生成统计图片
        /// </summary>
        /// <param name="chart"></param>
        /// <param name="type">图形类别,如柱状,折线型</param>
        public void CreateStatisticPic(dotnetCHARTING.Chart chart)
        {
            chart.Title = this.Title;
            chart.XAxis.Label.Text = this.XTitle;
            chart.YAxis.Label.Text = this.YTitle;
            chart.TempDirectory = this.PhaysicalImagePath;
            chart.FileManager.FileName = this.FileName;
            chart.Width = this.PicWidth;
            chart.Height = this.PicHight;

            chart.Type = this.Type;
            //chart.Series.Type = this.Type;//生成对比的线型图时不适用
            chart.DefaultSeries.Type = this.Type; //统一使用默认的序列图类型属性
            chart.Series.Name = this.SeriesName;
            chart.SeriesCollection.Add(this.DataSource);
            chart.DefaultSeries.DefaultElement.ShowValue = true;
            chart.ShadingEffect = true;
            chart.Use3D = this.Use3D;
            chart.Series.DefaultElement.ShowValue = true;
        }

    }
}

时间: 2024-08-17 21:19:02

dotnetcharting 生成柱状图,饼图等统计图的相关文章

Java读取数据库数据生成柱状图

此案例是用swing显示数据的.需要引入jfreechart相关包,不同版本可能包不相同,本人用的是 此案例在ssi框架下会报错,不用框架就没问题. Java后台逻辑代码: public class BarChart { ChartPanel frame1; public BarChart() { CategoryDataset dataset = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D("水果",

记一次非常无语的生成柱状图,js,ecshop。

如题,无语且非常郁闷. 要求是根据查询出来的数据动态生成柱状图.但是ecshop的查询ajax回调都是已经封装好了的.根本就不能改. 无奈之下只好百度了一个画柱状图的代码,每隔2秒抓取页面数据,重新绘制一次柱状图,假装自己是动态的.郁闷... 随便上个代码留个纪念,好歹做了三个小时.ummmm.... <canvas id="a_canvas" width="1000" height="700"></canvas> <

百度推出的echarts,制表折线图柱状图饼图等的超级工具

一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts的简介: ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRen

devexpress中用ChartControl生成柱状图

在界面中拖入一个ChartControl控件,然后添加一个simplebutton控件.在simplebutton控件的click事件中加入如下代码: private void button1_Click(object sender, EventArgs e)        {            //数据源            chartControl1.DataSource = CreateChartData();            //数据成员            chartCo

C#生成柱状图,包括刻度,刻度值.

http://blog.csdn.net/xyz7885696/article/details/2482842 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;

Thinkphp+ECharts生成柱状图

1.首先进ECharts官网下载echarts.js 点击下载,结合TP5讲解,主要代码在js里面,更多请到ECharts官网 2.引进echarts.js <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>销售柱状图</title> <!-- 引入ECharts文件 --> <script type="text/ja

canvas 根据数组生成柱状图

canvas柱状图 var arr = [ { id: 1001, price: 100 }, { id: 1002, price: 150 }, { id: 1003, price: 200 }, { id: 1004, price: 70 }, { id: 1005, price: 300 } ]; var gap = 20; var canvas = document.querySelector("canvas"); var ctx; init(); function init(

告别.NET生成报表统计图的烦恼

告别.NET生成报表统计图的烦恼 标签: 报表.netstatistics图形数据库文档 2009-10-09 12:00 635人阅读 评论(0) 收藏 举报  分类: .net程序设计(C#)(21)  目录(?)[+] 文章出处:http://www.cnblogs.com 告别.NET生成报表统计图的烦恼 信息系统大多会涉及到数据的统计,如数据的导出及生成统计对比图等,记得之前有一次要生成一个统计图在WEB页面上显示,那时也是在网上找了段Code,完全是一点点画横纵轴坐标上面的画出来的,

PHP中使用Jpgraph生成统计图

Jpgraph是PHP图表类库,可以生成折线图.柱状图.大饼图等等统计图.如果你想使用PHP生成统计图来统计数据,使用它再方便不过啦. 如果说你要亲自使用GD库来写的话,那我只能膜拜大神啦(我不会哈哈哈). 言归正传,首先你要确定你的PHP已经开启GD库啦,在php.ini配置文件中找到extension=php_gd2.dll确认没有被;注释.那表示已经开启GD库拉. 然后就可以去网上下一个Jpgraph的压缩包啦.解压保存到一个任意文件夹,之后会引用其中的文件,所以最好保存到一个你熟悉的文件