这就是我做出来的效果 以一个柱状图为例子 其他的图像 差不了多少 双y轴
//这就是js代码 在对应的jsp 文件中需要先引入相应的 Highcharts js文件
$('#Dscore_oilabnormal').highcharts({
chart: {
type: 'column'//这里的类型表示 柱状图
},
exporting:{ //这里配置图表的导出功能为false 没有配置的时候 图表的的右上方会有一个导出的按钮
enabled:false
},
credits : { //这里配置的是取消右下角 Highcharts版权连接 请允许我这么说
enabled : false
},
colors: [ //这里配置的是柱状图上那几根柱子应该是什么颜色的
'#CC3300',
'#666FF'
],
title: { //这里是图表标题
text: $.getBusinessField("sorceAbnormalOil", "HP010")
},
xAxis: { //X轴
categories:data.time //X轴数据
},
yAxis: [{ //这里注意了 配置双Y轴的这里要看好了 这里的值是一个数组
min: 0,
title:{ //左边y轴的标题
text :''
},
labels:{
formatter:function() {//在labels里可以配置formatter属性可以对y轴设置单位之类的个性化东西
return this.value+"L";//可以对照上面图表
}
}
},{
title:{ //这是第二天Y轴在右边
text :''
},
opposite:true//这个属性的作用是说 是否与第一条y轴相反 当然是true咯
}],
labels: {
rotation: -90,
align: 'right',
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif' }
},
series: [{ //这比较重要 设置X轴显示的柱状图数据的地方 也是一个数组
//可以看出这里设置了两个类型的柱
name:$.getBusinessField("totaloilabnormal", "HP010"),
data: data.abnormalOil, //这就是一种类型的柱状的数据 以此类推
yAxis : 0,
dataLabels: { //这个属性可以在柱子上显示的显示数值为多少
enabled: true,
rotation: 0,
color: '#000000',
align: 'right',
x: 4,
y: 10,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif',
textShadow: '0 0 3px black'
}
}
}, {
name: $.getBusinessField("averagescore", "HP010"),
data: data.driverScore,
yAxis : 1,
dataLabels: {
enabled: true,
rotation: 0,
color: '#000000',
align: 'right',
x: 4,
y: 10,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif',
textShadow: '0 0 3px black'
}
}
}]
});
数据根据自己的业务来处理 我的做法是后台返回一个map map里面放了 几个数据集合 每个数据集合分别对应相应的X轴数据
和图表柱状数据