前台页面jsp
<!-- lang: java -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Highcharts Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="${ctx}/common/chartJs/highcharts.js"></script>
<script src="${ctx}/common/chartJs/modules/exporting.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.post("${ctx}/chart/updateChartAction2.do", function(json) {
new Highcharts.Chart({
chart : {
//将图表显示至 container div
renderTo : 'container',
//char的类型 line, spline, area, areaspline, column, bar, pie and scatter
type : 'line',
//上边距
marginRight : 130,
//下边距
marginBottom : 45,
//不显示动画(性能)
animation : false
},
//标题
title : {
text : 'Monthly Average Temperature',
//The x position of the title relative to the alignment within chart.spacingLeft and chart.spacingRight. Defaults to 0.
x : 0
},
//子标题
subtitle : {
text : 'Source: WorldClimate.com',
x : 0
},
//x轴 标题
xAxis : {
//Can be one of "linear", "logarithmic", "datetime" or "category".
type : 'category'
},
//y轴 标题
yAxis : {
title : {
text : '测试数据(%)'
},
labels : {
format : '{value} %'
},
//基准线
plotLines : [ {
//基准线类型 点线
dashStyle: 'Dash',
//The position of the line in axis units.
value : 80,
//The width or thickness of the plot line.
width : 1,
//y轴上的刻度线颜色
color : '#EE0000'
} ]
},
//当鼠标放在point上时,显示的单位/后缀
tooltip : {
//是否显示tip
enabled: true,
//是否可以比较
shared: false,
//可现实小数位数
valueDecimals: 1,
//前缀
valuePrefix : '',
//后缀
valueSuffix : '%'
},
//绘图项设置
plotOptions : {
line : {
//超过阀值的颜色
color: '#FF0000',
//未超过阀值后的颜色
negativeColor: '#0088FF',
//阀值
threshold : 80,
//线条 是否趋势成动画显示
animation: {
duration: 2000
}
}
},
//图例框
legend : {
enabled: true,
//The layout of the legend items. Can be one of "horizontal" or "vertical".
layout : 'vertical',
//The horizontal alignment of the legend box within the chart area. Valid values are "left", "center" and "right"
align : 'left',
//The vertical alignment of the legend box. Can be one of "top", "middle" or "bottom".
//Vertical position can be further determined by the y option. Defaults to bottom.
verticalAlign : 'top',
//The x offset of the legend relative to it's horizontal alignment align within chart.
x : 0,
//The vertical offset of the legend relative to it's vertical alignment verticalAlign within chart.
y : 100,
//The width of the drawn border around the legend. Defaults to 1.
borderWidth : 1
},
//去掉highChart网站连接url
credits : {
enable : true
},
//去掉导出按钮
exporting : {
enabled : true
},
//数据,个人认为这种方法,最强之处就在于series传值完全通过json。
series : json
});
}, "json");
});
</script>
</head>
<body>
<div id="container" style="min-width: 400px; height: 420px; margin: 0 auto"></div>
</body>
</html>
后台使用json传送数据。这里使用json的便利之处,就在数据的格式更佳灵活。开发人员能够更灵活的控制数据的传递。
<!-- lang: java -->
/**
* 方法二:组织成json传送到前台
*/
public void updateChartAction2(){
List<Chart> c1 = chartService.getChartByName("beijing");
List<Chart> c2 = chartService.getChartByName("shanghai");
try {
JSONObject obj1 = this.writeJSON("beijing", c1);
JSONObject obj2 = this.writeJSON("shanghai", c2);
/**
* 组合成
* [
* name:xxx
* data: {[x1,y1],[x2,y2], ... }
* ]
*/
JSONArray all = new JSONArray();
all.put(obj1);
all.put(obj2);
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(all.toString());
response.getWriter().flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public JSONObject writeJSON(String nameVlu, List<Chart> list) {
// 组合成{[x1,y1],[x2,y2], ... }
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < list.size(); i++) {
JSONArray sub = new JSONArray();
sub.put(list.get(i).getcTime());
sub.put(list.get(i).getCdata());
jsonArray.put(sub);
}
/**
* 组合成 name:xxx data: {[x1,y1],[x2,y2], ... }
*/
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", nameVlu);
jsonObject.put("data", jsonArray);
return jsonObject;
}
相关推荐
在"highChart后台动态获取数据"这个主题中,我们主要探讨如何利用HighCharts结合后端数据来创建动态图表。 1. **HighCharts基本结构与配置** HighCharts的基本结构包括一个HTML容器元素和JavaScript代码,用于初始...
在本项目"matlab开发-HighChart"中,我们将重点探讨如何利用MATLAB与HighChart结合,创建动态和交互式的图表。HighChart是一个强大的JavaScript库,用于构建高质量的网页图表,其在数据可视化方面表现卓越,尤其适用...
HighChart是一款广泛应用于Web开发中的数据可视化库,它允许开发者创建出交互性强、美观的图表。HighChart基于JavaScript,支持各种浏览器,包括IE9及以上的版本。它以其灵活性、丰富的图表类型和良好的性能赢得了...
此外,Highcharts与服务器端数据的交互也是其强大之处,可以轻松地从后端获取并更新数据,实现动态的数据可视化。 总之,"Highchart Demo"实例是一个学习和理解Highcharts图表库的好材料,通过它,你可以掌握如何...
3. **创建曲线图**:在HighChart中,首先需要在HTML文件(如`index.htm`)中引入HighChart库,通常通过链接CDN或本地的`js/highcharts.js`文件。然后,创建一个用于放置图表的HTML元素(如div),并为其设置ID。 4....
HighChart API 是一款强大的JavaScript图表库,用于在Web页面上创建动态、交互式的图表和图形。这个API提供了丰富的选项和功能,使得开发者可以定制各种类型的图表,如柱状图、折线图、饼图、散点图等。下面将详细...
Highcharts是一款强大的JavaScript图表库,其图表区选项允许用户精细调整图表的外观和行为。以下是一些关键的配置项: - **backgroundColor**: 设置图表背景色,例如`#FFFFFF`表示白色背景。 - **borderWidth**: ...
Highcharts是一款强大的JavaScript图表库,用于在Web页面上创建各种数据可视化效果,如柱状图、折线图、饼图等。它具有丰富的定制选项,能够满足开发者在数据展示方面的各种需求。以下是对Highcharts的一些关键知识...
在IT领域,生成数据可视化图表是一种常见的需求,特别是在数据分析、监控和报告中。Highcharts是一个强大的JavaScript库,用于创建各种类型的交互式图表,包括折线图。本篇将详细介绍如何利用Highcharts结合MySQL...
HighChart是一款广泛应用于Web开发中的数据可视化库,它以其丰富的图表类型、良好的交互性和美观的样式赢得了开发者们的喜爱。在本文中,我们将深入探讨HighChart控件的核心特性、使用方法以及如何结合源码进行定制...
在这个名为"highchart.rar"的压缩包中,我们很显然会找到与Highcharts相关的代码示例,尤其是关于如何实现Y轴双数据的设置。 在Web开发中,数据可视化是一个至关重要的环节,它能够帮助用户更好地理解复杂的数据...
Highcharts是一款强大的JavaScript图表库,它能够帮助开发者轻松地在网页上创建各种动态、交互式的图表。这个压缩包文件的标题“highchart(api)”显然与Highcharts的API使用有关,可能包含了一些关于如何利用...
数据可以硬编码在配置对象中,也可以动态从服务器获取。动态加载数据通常使用AJAX请求,例如使用jQuery的`$.getJSON()`方法。 五、交互功能 Highcharts支持多种交互功能,如点击事件、鼠标悬停提示、缩放、平移等。...
本教程将探讨如何在Java后端与前端使用Highcharts和Ajax结合,动态地从服务器获取数据并更新图表。 一、Highcharts的基本概念与使用 Highcharts是基于HTML5 SVG的图表库,支持现代浏览器和IE6+(通过VML)。它提供...
bootstrap+EasyUI+highchart中文参考手册,本人是后端开发,对前端不是很熟悉,所以在做项目的时候采用了这三个技术,因为是框架所以用起来开发前端很方便,果断选择,后端程序员也能开发出漂亮的前端页面了
这个"highchart c# demo"示例将指导我们如何在C#后端生成数据,并通过JavaScript在前端展示。 首先,我们需要理解Highcharts的基本结构。Highcharts的核心是HTML5 `<div>`标签,我们在这个标签内插入JavaScript代码...
HighChart是一款基于JavaScript的开源图表库,用于在Web应用程序中创建高质量、互动式的图表。它在数据可视化领域具有广泛的应用,尤其在Web开发中深受喜爱。3.0.2是HighChart的一个版本,该版本提供了丰富的图表...