码迷,mamicode.com
首页 > Web开发 > 详细

.NET 使用 Highcharts生成扇形图 柱形图

时间:2014-08-03 17:35:56      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   java   使用   os   io   

1、首先新建一个.NET网站,如图所示:

bubuko.com,布布扣

 

2、引用所需要的js类库,如下图 highcharts.js可以在网上搜索就可以找到下载了。

bubuko.com,布布扣

3、在Default.aspx页面引用js

bubuko.com,布布扣

4、在 body 下添加一个<div id="container" style="width: 98%; height: 500px; margin: 0 auto"> , 前台代码如下

bubuko.com,布布扣
 1   <script type="text/javascript">
 2     $(function() {
 3      var line1 = <%=manTotal%>; 
 4       var data = [<%=percentageStr%>];
 5         $(#container).highcharts({
 6             title: {
 7                 text: 组合图
 8             },
 9             xAxis: {
10                 categories:<%=xaxisStr%>
11             },
12               yAxis: {
13                         min: 0,
14                         title: {
15                             text: 人数 (人)  // //Y轴坐标标题  labels:纵柱标尺  
16                         }
17                     },
18             credits: {
19                 enabled: false//坑爹的属性,去掉官网的链接
20             },
21 //            labels: {
22 //                items: [{
23 //                    html: ‘‘,
24 //                    style: {
25 //                        left: ‘50px‘,
26 //                        top: ‘18px‘,
27 //                        color: (Highcharts.theme && Highcharts.theme.textColor) || ‘black‘
28 //                    }
29 //}]
30 //                },
31                  tooltip: {
32                         formatter: function() {
33                         if(this.percentage!=null)
34                         {
35                           return <b>+ this.point.name +</b>: +Highcharts.numberFormat(this.percentage,2)+%; 
36                             //return ‘<b>‘+ this.point.name +‘</b>: ‘+ this.percentage +‘ %‘;
37                         }
38                         else
39                         {
40                                return <b>+ this.x +:</b>+this.y +;
41                         }
42                     }},
43                 series: [{
44                     type: column,
45                     data: line1,
46                     name: 柱形图
47                  } , {
48                     type: spline,
49                     data: line1,
50                     name: 折线图,
51                     marker: {
52                         lineWidth: 2,
53                         lineColor: Highcharts.getOptions().colors[3],
54                         fillColor: white
55                     }
56                 }, {
57                     type: pie,
58                     name: ‘‘,
59                     name: 扇形图,
60                     data:data,
61                         center: [100, 80],
62                         size: 150,
63                         showInLegend: false,
64                         dataLabels: {
65                             enabled: false
66                         }
67                         }
68                     ]
69                     });
70                 });
71     </script>
72 
73 </head>
74 <body>
75     <form id="form1" runat="server">
76     <div>
77         <div id="container" style="width: 98%; height: 500px; margin: 0 auto">
78         </div>
79     </div>
80     </form>
81 </body>
82 </html>
View Code

5、后台代码如下:

bubuko.com,布布扣
 1 protected string manTotal = string.Empty;
 2         protected string femanTotal = string.Empty;
 3         protected string xaxisStr = string.Empty;
 4         protected void Page_Load(object sender, EventArgs e)
 5         {
 6             BindDistribution();
 7         }
 8         public  string percentageStr="";
 9         private void BindDistribution()
10         {
11             System.Data.DataTable dt = GetData();
12             StringBuilder sb1 = new StringBuilder();
13             StringBuilder sb2 = new StringBuilder();
14             StringBuilder sb3 = new StringBuilder();
15 
16 
17             for (int i = 0; i < dt.Rows.Count; i++)
18             {
19                 sb1.AppendFormat("{0},", dt.Rows[i]["人数"].ToString());
20                 sb3.AppendFormat("‘{0}‘,", dt.Rows[i]["专业"].ToString());
21                 percentageStr = "[‘" + dt.Rows[i]["专业"].ToString().Trim() + "‘," + dt.Rows[i]["人数"].ToString().Trim() + "]" + "," + percentageStr;
22             }
23             manTotal = "[" + sb1.ToString().TrimEnd(,) + "]";   
24             xaxisStr = "[" + sb3.ToString().TrimEnd(,) + "]";
25         }
26         public static string connStrings = @"Data Source=.;Initial Catalog=S;Integrated Security=True";
27         public static DataTable GetData()
28         {
29             using (SqlConnection con = new SqlConnection(connStrings))
30             {
31                 string sql = @"select  专业,count(专业) as ‘人数‘,
32 round(count(专业)*1.0/(select count(*) from S),3)  as ‘百分比‘
33 from S group by 专业
34 ";
35                 SqlDataAdapter ds = new SqlDataAdapter(sql, con);
36                 DataTable dt = new DataTable();
37                 ds.Fill(dt);
38                 return dt;
39             }
40         }
41     }
View Code

6、建立的数据库SQL语句如下

bubuko.com,布布扣
 1 CREATE TABLE [dbo].[S](
 2     [学号] [nvarchar](255) NOT NULL,
 3     [姓名] [nvarchar](255) NULL,
 4     [性别] [nvarchar](255) NULL,
 5     [专业] [nvarchar](255) NULL,
 6     [院系] [nvarchar](255) NULL,
 7     [班级] [nvarchar](255) NULL
 8 ) ON [PRIMARY]
 9 
10 GO
11 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N111405060432, N王小明, N, N金融系, N经济学院, N金融112)
12 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N09402260215, N王销硕, N, N材料成型及控制工程, N材料科学与工程学院, N焊接123)
13 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08104160407, N冯静, N, N金融学, N经济学院, N金融091)
14 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N17108240152, N王哲, N, N环境工程, N化工与制药学院, N环境101)
15 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N07110020114, N刘龙, N, N应用物理学, N物理与工程学院, N应物081)
16 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N12118010137, N杨冬来, N, N临床医学, N医学院, N临床089)
17 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N14118031015, N连新东, N, N临床医学, N医学院, N临床087)
18 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N07118020434, N胡小飞, N, N护理学, N医学院, N护理012)
19 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N07119010329, N张新宇, N, N建筑学, N规划与建筑工程学院, N建筑042)
20 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N10101060311, N靳晓蕊, N, N机械设计制造及其自动化, N机电工程学院, N机制082)
21 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N12101060806, N范航以, N, N机械设计制造及其自动化, N机电工程学院, N机设012)
22 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N11102060304, N郭硕好, N, N材料成型及控制工程, N材料科学与工程学院, N焊接093)
23 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08104100602, N蔡杰, N, N冶金工程, N材料科学与工程学院, N冶金091)
24 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N09103450225, N王小昆, N, N热能与动力工程, N车辆与动力工程学院, N制冷081)
25 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N03102050229, N余洲, N, N热能与动力工程, N车辆与动力工程学院, N制冷051)
26 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N06104050601, N陈蒙, N, N热能与动力工程, N车辆与动力工程学院, N制冷081)
27 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N12103290126, N吴刚, N, N交通运输, N车辆与动力工程学院, N交通081)
28 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08103590135, N张楠, N, N交通运输, N车辆与动力工程学院, N交通081)
29 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N05104020210, N李科, N, N电子信息工程, N电子信息工程学院, N电信082)
30 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08107060113, N沈召花, N, N计算机科学与技术, N电子信息工程学院, N计算机111)
31 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N09302060323, N王是江, N, N计算机科学与技术, N电子信息工程学院, N计算机123)
32 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08134090220, N王大毅, N, N信息工程, N电子信息工程学院, N信工091)
33 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N13176070105, N郝军, N, N信息管理与信息系统, N管理学院, N信管091)
34 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08119010107, N高涛, N, N建筑学, N规划与建筑工程学院, N建筑091)
35 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N09189010113, N刘亮, N, N建筑学, N规划与建筑工程学院, N建筑121)
36 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N08179010114, N刘洋, N, N建筑学, N规划与建筑工程学院, N建筑121)
37 INSERT [dbo].[S] ([学号], [姓名], [性别], [专业], [院系], [班级]) VALUES (N11109810516, N马红, N, N建筑学, N规划与建筑工程学院, N建筑081)
38           
View Code

7、最后浏览页面,如下图

bubuko.com,布布扣

总结:更多关于生成图表的资源,可以访问 highchart   http://www.highcharts.com/demo/pie-gradient  官方网址

.NET 使用 Highcharts生成扇形图 柱形图,布布扣,bubuko.com

.NET 使用 Highcharts生成扇形图 柱形图

标签:style   blog   http   color   java   使用   os   io   

原文地址:http://www.cnblogs.com/luoyangcn/p/3888450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!