highcharts 小试

简介:

highcharts写了个小例子,怕忘了所以记录下


highcharts 需要jquery.js与highcharts.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<%@ page language= "java"  contentType= "text/html; charset=UTF-8"
     pageEncoding= "UTF-8" %>
<% 
String path = request.getContextPath(); 
System.out.print(path);
String basePath = request.getScheme()+ "://" +request.getServerName()+ ":" +request.getServerPort()+path+ "/"
System.out.print(basePath);
%>     
<!DOCTYPE html PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<base href= " <%=basePath%>"
<meta http-equiv= "Content-Type"  content= "text/html; charset=UTF-8" >
<title>Insert title here</title>
<script type= "text/javascript" src= "asserts/js/jquery.js" ></script>
<script type= "text/javascript"  src= "asserts/js/highcharts.js" ></script>
 
<script type= "text/javascript" >
  $(function(){
      $.ajax({
          url:  'test/fruitlist' ,      //需要去访问后台,获得所需要的数据
             type:  'POST' ,
             dataType:  'json' ,             
             success: function(data){
                 chart(data);       //得到数据后,传给chart方法展示
          }
      });
  }); 
 
function chart(data){
         Highcharts.setOptions({
             global: {
                 useUTC:  false
               }
         });
       var chart1;
           chart1 =  new  Highcharts.Chart({
               chart : {                   //整个图表的整体配置
                   renderTo :  'container' ,
                   type :  'spline' ,    //spline 曲线 ,//bar 柱条//line 直线
                   width :  1020 ,
                   plotBorderColor:  'red' ,
                   plotBorderWidth:  1 ,
                   },
               credits : {         //版权信息   是否显示版权信息(默认显示)
                                enabled: false
                                },
                       title: {    //图表标题相关信息
                              text:  '水果订购情况' ,   
                              x: - 20  //center        
                              }, 
                              
                       subtitle: { 
                             text:  '2013年'   //副标题 
                             },  
                             
               xAxis : {      //x轴,这里是时间
                       type: "datetime" ,
                       tickInterval :  16  3600  1000 ,
                       dateTimeLabelFormats:
                                            {
                                                 second:  '%H:%M:%S' ,
                                                 minute:  '%d. %b %H:%M' ,
                                                 hour:  '%m-%d %H:%M' ,
                                                 day:  '%m-%d' ,
                                                 week:  '%m-%d' ,
                                                 month:  '%Y-%m' ,
                                                 year:  '%Y'
                                            }
                   },    
               yAxis : [
                    {
                      title : {
                          text :  '苹果购买率'          
                           },
                      labels:{
                         formatter:function(){  
                              return  this .value +  "kg" ;
                              },
                                  style: {
                              color:  'blue'
                              },
                              }
                                   
                     },
                     
                     
                  {      // 这里用两个y轴,所以第二个用了  opposite属性
                      title : {
                            text :  '橘子购买量'
                           },
                     labels:{
                         formatter:function(){
                                                                                                          return  this .value +  "kg" ;
                         },
                         style: {
                                    color:  'red'
                                 },
                                         
                     },
                     opposite: true     
                  }
                                 
                                 
                       ],  
                 
                 series:data    //data放需要展示的数据了
           });
       
}
 
</script>
</head>
<body>
      <div id= "container"  style= "width:800px; height: 400px" >dfdf</div>
</body>
</html>


最关键的就是data那部分需要展示的数据了,数据格式为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[
     {
         "yAxis" 0 ,
         "name" "oragle" ,
         "data" : [
             [
                 1387382400000 ,     //时间对应的毫秒值
                 13
             ],
             [
                 1387468800000 ,
                 32
             ],
             [
                 1387555200000 ,
                 25
             ],
             [
                 1387641600000 ,
                 36
             ]
         ]
     },
     {
         "yAxis" 1 ,
         "name" "apple" ,
         "data" : [
             [
                 1387296060000 ,
                 33
             ],
             [
                 1387468920000 ,
                 12
             ],
             [
                 1387555380000 ,
                 26
             ],
             [
                 1387728240000 ,
                 16
             ]
         ]
     }
]


后台拼接的时候记住,{}是MAP,[]为数组。


因为需要转为json,所以代码还是发出来保留下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
     @RequestMapping (value= "/test/fruitlist" )
     public  void  handleRequest(HttpServletRequest request,
             HttpServletResponse response)  throws  Exception {
         
         String[] result =  new  String[ 2 ];
         SimpleDateFormat sdf =  new  SimpleDateFormat( "yyyy-MM-dd HH:mm" );
         
          Map zhumap =  new  HashMap();
          zhumap.put( "name" "oragle" );
          zhumap.put( "yAxis" 0 );
          List zhulist =  new  ArrayList();
          
         
           List list1 =  new  ArrayList();
           List list2 =  new  ArrayList();
           List list3 =  new  ArrayList();
           List list4 =  new  ArrayList();
          list1.add(sdf.parse( "2013-12-19 00:00" ).getTime());  list1.add( 13 );
          list2.add(sdf.parse( "2013-12-20 00:00" ).getTime());  list2.add( 32 );
          list3.add(sdf.parse( "2013-12-21 00:00" ).getTime());  list3.add( 25 );
          list4.add(sdf.parse( "2013-12-22 00:00" ).getTime());  list4.add( 36 );
          
          zhulist.add(list1);
          zhulist.add(list2);
          zhulist.add(list3);
          zhulist.add(list4);
          zhumap.put( "data" , zhulist);
          JSONObject json = JSONObject.fromObject(zhumap);
          result[ 0 ]=json.toString();
          
          
          Map chenmap =  new  HashMap();
          chenmap.put( "name" "apple" );
          chenmap.put( "yAxis" 1 );
          List chenlist =  new  ArrayList();
          
          
          List list5 =  new  ArrayList();
          List list6 =  new  ArrayList();
          List list7 =  new  ArrayList();
          List list8 =  new  ArrayList();
          list5.add(sdf.parse( "2013-12-18 00:01" ).getTime()); list5.add( 33 );
          list6.add(sdf.parse( "2013-12-20 00:02" ).getTime());  list6.add( 12 );
          list7.add(sdf.parse( "2013-12-21 00:03" ).getTime()); list7.add( 26 );
          list8.add(sdf.parse( "2013-12-23 00:04" ).getTime()); list8.add( 16 );
          chenlist.add(list5);
          chenlist.add(list6);
          chenlist.add(list7);
          chenlist.add(list8);
          chenmap.put( "data" , chenlist);
          json = JSONObject.fromObject(chenmap);
          result[ 1 ]=json.toString();
          
         JSONArray resultJson = JSONArray.fromObject(result);
          response.getWriter().print(resultJson);
          
         //return new ModelAndView("/welcome",resultJson);
     }


最后图片为:

 wKiom1T5I0WDBkdZAAHHid73Nc4438.jpg








     本文转自布拉君君 51CTO博客,原文链接http://blog.51cto.com/5148737/1617875:,如需转载请自行联系原作者

相关文章
|
2月前
|
JSON JavaScript 前端开发
Highcharts 教程
Highcharts 教程
100 2
|
6月前
|
JavaScript 前端开发 开发者
决战前端之巅!Element UI与Vuetify谁才是Vue.js组件界的霸主?一场关于颜值与实力的较量!
【8月更文挑战第30天】本文对比了两款热门的Vue.js组件库——Element UI与Vuetify。Element UI由饿了么团队打造,提供多种高质量UI组件,设计简洁大方。Vuetify基于Material Design规范,支持Vue.js 2.0及3.0版本,具备前瞻性。两者均涵盖表单、导航、数据展示等组件,Element UI配置选项丰富,而Vuetify则提供了更深层的样式定制功能。开发者可根据项目需求及个人偏好选择合适的组件库。
508 0
|
6月前
|
Scala 前端开发 开发者
Play Framework模板引擎大对决:Twirl的魔力与Mustache的简约,谁才是真正的王者?
【8月更文挑战第31天】刘杰是一位软件开发工程师,在基于高性能Web框架Play Framework的新项目中负责前端页面开发。在个人博客里,他详细比较了Play Framework提供的两种内置模板引擎——Twirl与Mustache。Twirl为Play默认模板引擎,使用Scala编写,具备强大的功能与灵活性;而Mustache是一个无逻辑的模板引擎,适用于多种编程语言,使用双花括号表示变量。
65 0
|
6月前
|
JavaScript 前端开发 UED
【绝技大公开】Vue.js高手教你如何从零到英雄,构建梦幻电商平台前端!
【8月更文挑战第30天】本文通过对比传统网页开发方式,介绍了使用Vue.js及其生态构建电商平台前端的方法。从初始化项目到配置路由、状态管理,再到实现首页、商品列表与详情页,每个环节都提供了具体代码示例,展示了Vue.js在提升开发效率与应用可维护性方面的优势。适合希望了解现代前端技术栈的开发者阅读。通过本教程,读者可以学习到如何利用Vue Router、Vuex等工具搭建完整的Web应用。
87 0
|
9月前
|
前端开发
第三站:探索JavaWeb中的CSS魅力
第三站:探索JavaWeb中的CSS魅力
63 0
|
XML JavaScript 前端开发
好客租房10-jsx的基本使用
好客租房10-jsx的基本使用
93 0
|
前端开发 UED
前端入门教程(五)CSS样式初见
一 什么是CSS CSS全称Cascading Style Sheet层叠样式表,是专用用来为HTML标签添加样式的。 样式指的是HTML标签的显示效果,比如换行、宽高、颜色等等 层叠属于CSS的三大特性之一,我们将在后续内容中介绍 表指的是我们可以将样式统一收集起来写在一个地方或者一个CSS文件里 二 为何要用CSS 在没有CSS之前,我们想要修改HTML标签的样式则需要为每个HTML标签单独定义样式属性,如下 DOCTYPE html> 天净沙·秋思 锦瑟无端五十弦,一弦一柱思华年。
1121 0
|
开发框架 移动开发
|
Web App开发 前端开发 JavaScript

热门文章

最新文章