endora

首先加载js文件:<script src="/script/jquery-1.3.2.min.js" type="text/javascript"></script> 点击下载

需要加载的js文件:<script src="/script/highcharts.js" type="text/javascript"></script> 点击下载

JS生成柱形图表

前台.aspx

View Code
<div id="chartBar" style="width:450px; height:250px; float:left"></div> 
        <div id="chartPie" style="width:200px; height:250px; float:left"></div>

JS

View Code
<script type="text/javascript" >
 var chart; 
$(function() {
//===============年龄分布柱状图===============
            var line1 = <%=manTotal%>;           //子统计1数据   
            var line2 = <%=femanTotal%>;     //子统计2数据   

            chart = new Highcharts.Chart({
                    chart: {
                        renderTo: \'chartBar\',
                        type: \'column\'
                    },
                    title: {
                        text: \'年龄分布图\'
                    },
                    subtitle: {
                        text: \'\'
                    },
                    credits: {
                        enabled: false//坑爹的属性,去掉官网的链接
                    },
                    xAxis: {
                        categories: <%=xaxisStr%>
                    },
                    yAxis: {
                        min: 0,
                        title: {
                            text: \'人数 (人)\'
                        }
                    },
                    legend: {
                        layout: \'vertical\',
                        backgroundColor: \'#FFFFFF\',
                        align: \'left\',
                        verticalAlign: \'top\',
                        x: 300,
                        y: 30,
                        floating: true,
                        shadow: false
                    },
                    tooltip: {
                        formatter: function() {
                            return \'<b>\'+ this.series.name +\':</b>\'+this.y +\' 人\';
                        }
                    },
                    plotOptions: {
                        column: {
                            pointPadding: 0.2,
                            borderWidth: 0,
                            shadow: false            }
                    },
                    series: [{
                        name: \'男\',
                        data: line1

                        }, {
                            name: \'女\',
                            data: line2

                        }
                    ]
                });
})
</script>

后台.aspx.cs

View Code
        protected string manTotal = string.Empty;
        protected string femanTotal = string.Empty;
        protected string xaxisStr = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
               BindDistribution();
        }
        /// <summary>
        /// 体检人员分布
      /// </summary>
        private void BindDistribution()
        {
            System.Data.DataTable dt = ds.Tables[0];
            StringBuilder sb1 = new StringBuilder();
            StringBuilder sb2 = new StringBuilder();
            StringBuilder sb3 = new StringBuilder();
            
            for (int i = 0; i < dt.Rows.Count-1;i++ )
            {
                sb1.AppendFormat("{0},",dt.Rows[i]["男性人数"].ToString());
                sb2.AppendFormat("{0},", dt.Rows[i]["女性人数"].ToString());
                sb3.AppendFormat("\'{0}\',", dt.Rows[i]["年龄段"].ToString());
                
            }
            manTotal = "[" + sb1.ToString().TrimEnd(\',\') + "]";
            femanTotal = "[" + sb2.ToString().TrimEnd(\',\') + "]";
            xaxisStr = "[" + sb3.ToString().TrimEnd(\',\') + "]";
        }

注:从数据库获取到dt:

生成图如上图所示

JS生成饼图

前台.aspx文件

View Code
<div id="chartPie" style="width:200px; height:250px; float:left"></div>

JS代码

View Code
<script type="text/javascript">
var chart;
$(function() {
//===============年龄分布饼图===============
            var data = [<%=percentageStr%>];

            var piechart = new Highcharts.Chart({
                    chart: {
                        renderTo: \'chartPie\',
                        plotBackgroundColor: null,
                        plotBorderWidth: null,
                        plotShadow: false
                    },
                    title: {
                        text: \'性别分布图\'
                    },
                    tooltip: {
                        formatter: function() {
                            return \'<b>\'+ this.point.name +\'</b>: \'+ this.percentage +\' %\';
                        }
                    },
                    credits: {
                        enabled: false
                    },
                    plotOptions: {
                        pie: {
                            allowPointSelect: true,
                            shadow: false,
                            cursor: \'pointer\',
                            dataLabels: {
                                enabled: false
                            },
                            showInLegend: true
                        }
                    },
                    series: [{
                        type: \'pie\',
                        name: \'性别分布图\',
                        data: data
                    }]
                });
})
</script >

 

后台.aspx.cs

View Code
        protected string percentageStr = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
                BindDistribution();
        }
        /// <summary>
        /// 体检人员分布
      /// </summary>
        private void BindDistribution()
        {
            System.Data.DataTable dt = ds.Tables[0];
            for (int i = 0; i < dt.Rows.Count-1;i++ )
            {
                      percentageStr = "[\'男\'," + dt.Rows[dt.Rows.Count - 1]["男性人数"].ToString() + "],[\'女\'," + dt.Rows[dt.Rows.Count - 1]["女性人数"].ToString() + "]";
        }

注:dt为生成柱状图用的dt一样

 

点击下载源文件 Test.rar

分类:

技术点:

相关文章: