首先加载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
<div id="chartBar" style="width:450px; height:250px; float:left"></div> <div id="chartPie" style="width:200px; height:250px; float:left"></div>
JS
<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
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文件
<div id="chartPie" style="width:200px; height:250px; float:left"></div>
JS代码
<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
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