一、HighCharts前端绘制图表
使用HighCharts可以在前端非常简单的生成图表
1.1 配置语法,生成HTML页面
<html>
<head>
<title>Highcharts 示例</title>
<script src="/static/js/jquery/2.1.4/jquery.min.js"></script>
<script src="/try/demo_source/highcharts.js"></script>
</head>
<body>
<div id="container" style=" 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
});
</script>
</body>
</html>
实例中 id 为 container 的 div 用于包含 Highcharts 绘制的图表
1.2 创建Json格式的配置文件
$('#container').highcharts(json);
1.配置标题
var title = {
text: '月平均气温'
};
2.副标题
var subtitle = {
text: 'Source: runoob.com'
};
3.X轴
var xAxis = {
categories: ['一月', '二月', '三月', '四月', '五月', '六月'
,'七月', '八月', '九月', '十月', '十一月', '十二月']
};
4.Y轴
var yAxis = {
title: {
text: 'Temperature (xB0C)'
},
plotLines: [{
value: 0,
1,
color: '#808080'
}]
};
5.提示信息
var tooltip = {
valueSuffix: 'xB0C'
}
6.展示方式
var legend = {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
};
7.图表中所需数据
配置图表要展示的数据。每个系列是个数组,每一项在图片中都会生成一条曲线。
var series = [
{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,
26.5, 23.3, 18.3, 13.9, 9.6]
},
{
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,
24.1, 20.1, 14.1, 8.6, 2.5]
},
{
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,
17.9, 14.3, 9.0, 3.9, 1.0]
},
{
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,
16.6, 14.2, 10.3, 6.6, 4.8]
}
];
8.最后创建JSON格式的数据
var json = {};
json.title = title;
json.subtitle = subtitle;
json.xAxis = xAxis;
json.yAxis = yAxis;
json.tooltip = tooltip;
json.legend = legend;
json.series = series;
Step 4: Draw the chart
$('#container').highcharts(json);
然后调用语句画表:$('#container').highcharts(json);
以下完整代码:
<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鸟教程(runoob.com)</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
</head>
<body>
<div id="container" style=" 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(function() {
var title = {
text: '月平均气温'
};
var credits = {
enabled:false //表示隐藏右下角 highchart 连接
};
var subtitle = {
text: 'Source: runoob.com'
};
var xAxis = {
categories: ['一月', '二月', '三月', '四月', '五月', '六月'
,'七月', '八月', '九月', '十月', '十一月', '十二月']
};
var yAxis = {
title: {
text: 'Temperature (xB0C)'
},
plotLines: [{
value: 0,
1,
color: '#808080'
}]
};
var tooltip = {
valueSuffix: 'xB0C'
}
var legend = {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
};
var series = [
{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,
26.5, 23.3, 18.3, 13.9, 9.6]
},
{
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,
24.1, 20.1, 14.1, 8.6, 2.5]
},
{
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,
17.9, 14.3, 9.0, 3.9, 1.0]
},
{
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,
16.6, 14.2, 10.3, 6.6, 4.8]
}
];
var json = {};
json.title = title;
json.subtitle = subtitle;
json.xAxis = xAxis;
json.yAxis = yAxis;
json.tooltip = tooltip;
json.legend = legend;
json.series = series;
$('#container').highcharts(json);
});
</script>
</body>
</html>
二、最近工作用到的配置
function draw_chart(id,data,title) {
// data数据格式:[[1,3],[2,4],[3,7],[4,2],[5,8],];
var id_str = '#'+id;
var chart_json = {
title: {
text: title,
margin: 10,
style: { "fontSize": "22px" },
},
subtitle:{
text:"Pressure"
},
xAxis:{
// categories:['a', 'b', 'c', 'd', 'e']
title:"压力记录次数",
tickInterval: 1
},
credits:{
enabled:false
},
yAxis:{
title:{
text:'压力 Pa',
plotLines: [{
value:0,
1,
color:'#808080'
}]
}
},
tooltip:{
formatter:function(){
return "第"+this.x+"次压力记录"+'<br/>压力值:'+Highcharts.numberFormat(this.y,2)+'Pa';
}
},
legend:{
layout: 'vertical',
align:'right',
verticalAlign:'middle',
borderWdith:0
},
series:[
{
name:'当前压力',
data:data
}
]
};
$(id_str).highcharts(chart_json)
}