highcharts 小试

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

highcharts 需要jquery.js与highcharts.js

<%@ 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那部分需要展示的数据了,数据格式为:

[
    {
        "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,所以代码还是发出来保留下

	@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);
	}

最后图片为:

时间: 2024-10-18 11:10:02

highcharts 小试的相关文章

Highcharts(一)

由来 2014年10月27日,我入职了我现在的这家公司,也是我第一家公司.到今天已经快3个月了,虽然这家公司规模不小,但是IT部的规模很小.到目前为止,整个部门17人,包括运维和开发.我们的项目组叫”MD”项目组,整个团队5个人.刚进公司简单的熟悉业务后,老大安排我负责系统服务端的接口.简单的说就是前端需要什么样的数据,我就给它提供相应的接口.就这样,写了1个多月的接口.由于系统需求,需要系统提供曲线图.老大让我到网上找一个控件学习一下,解决这个需求.这就是我学习Highcharts的由来. 介

大数据时代的图表可视化利器——highcharts,D3和百度的echarts

还记得阿里巴巴那个令人澎湃激情的双十一吗?还记得淘宝生动形象地把你的的消费历程一一地展示给你看吗?还记得那些酷炫拽的it报告图表吗?在这个大数据越来越盛行的年代,怎样去表达一些用户的关系,人物的关联,甚至是事情的发展,都让我们有更多的表达方式.其中最简单直接,形象明了的就是用图表说明问题了. 如果在以前,要实现各种图表,可能很多人会选择flash.但是flash成本较高,图表多的时候很耗性能.后来越来越多的纯js框架出现,让大家有了更多的选择.所以接下来我想推荐几个不错的图表js框架给大家用.

Redis配置以及通过C#访问小试

首先安装一个Ubuntu14.04的虚拟机用来安装Redis.Ubuntu的Unity在虚拟机里面卡爆了,可以通过如下方法安装传统的Gnome界面: sudo aptitude install gnome-session-fallback 安装完成之后可以在登录的地方选择Gnome界面. Redis的编译和安装在Linux下面非常简单,访问redis.io获得稳定版的源代码.现在是redis-2.8.13.tar.gz 下载完成之后,执行如下命令: tar xzf redis-2.8.13.ta

[转] angular2+highcharts+chart.js

这里是在ionic2下使用highchairs和chart.js的简单示例chartjs部分参考http://www.jianshu.com/p/bc18132da812 1.安装hightcharts npm install highcharts --save typings install dt~highcharts --global --save 2.编辑 html文件在html中添加一个div来显示图表 <ion-content class="about"> <

Highcharts简单入门

一.简介 Hicharts是一款支持移动端.图表类型丰富.方便快捷的 HTML5 交互性图表库,旨在让数据可视化更简单. 下面是一个简单的折线图,交互体验很棒. 二.如何使用? 1.官网下载压缩包 2.将js文件夹下复制到工程中 3.页面引入三个js文件 <script type="text/javascript" src="../js/jquery-1.8.3.js"></script> <script type="text

HighCharts插件学习(二)

HighCharts属性 credits: {版权信息} data: {数据功能模块} drilldown: {钻取} exporting: {导出} labels: {标签} legend: {图例} loading: {加载} navigation: {导航} noData: {没有数据} pane: {-} plotOptions: {数据列配置} responsive: {响应式} series: [{数据列}] subtitle: {副标题} title: {标题} tooltip:

HighCharts学习笔记(一)

HighChars基本概述 Highcharts是一个纯js写成的插件库,很好的外观表现可以满足任何图标需求. 开始使用chart之前进行配置 全局配置: Highcharts.setOptions({ global: { useUTC: false }}); 主配置中参数含义: $("#container").highcharts({ accessibility:无障碍的设计{ describeSingleSeries: false enabled: true keyboardNav

HighCharts 详细使用及API文档说明

HighCharts 详细使用及API文档说明 2012-11-19 11:18 49574人阅读 评论(2) 收藏 举报  分类: HighCharts 一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题下有对齐方式(align),标题文字(text)等.下图为整个图表的每个部分位置说明(请对照下面HighCharts整体结构) 二.HighCha

Highcharts 环境配置

Highcharts 环境配置 本章节我们将为大家介绍如何在网页中使用 Highcharts. Highcharts 依赖于 jQuery,所以在加载 Highcharts 前必须先加载 jQuery 库. 如果你对 jQuery 不熟悉,可以参阅本站的jQuery 教程. 安装 jQuery jQuery 安装可以使用以下两种方式: 1.访问 jquery.com 下载jQuery包. 2.使用本站静态资源库的jQuery资源: http://cdn.static.runoob.com/lib