我有这个柱形图http://jsfiddle.net/TU7TL/我想知道是否有办法让系列名称显示在其各自的列下,例如“Tokyo”将直接位于蓝色栏下而不是仅在传说。代码
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Monthly Average Rainfall'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: {
categories: [
'Tokyo',
'New York',
'London'
]
},
yAxis: {
min: 0,
title: {
text: 'Rainfall (mm)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Tokyo',
data: [49.9]
}, {
name: 'New York',
data: [83.6],
}, {
name: 'London',
data: [48.9]
}, {
name: 'Berlin',
data: [42.4]
}]
});
});
答案 0 :(得分:2)
完成以下类别:
categories: [
'Tokyo',
'New York',
'London',
'Berlin'
]
然后堆叠选项为:
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0,
stacking: 'normal'
}
}
然后将您的数据串联为:
series: [{
name: 'Tokyo',
data: [49.9,null,null,null]
}, {
name: 'New York',
data: [null,83.6,null,null],
}, {
name: 'London',
data: [null,null,48.9,null]
}, {
name: 'Berlin',
data: [null,null,null,42.4]
}]
这里有小提琴:
或者你只能使用一个系列,并将所有数据放入系列数组中:
series: [{
name: 'Measure',
data: [{y:49.9, color: colors[0]},{y:83.6, color: colors[1]},{y:48.9, color: colors[2]},{y:42.4,color: colors[3]}]
}]
});
使用最后一种方法,您必须在同一系列中指定不同的颜色。之前我声明并使用变量“colors”来获取Highchart中的颜色:
var colors = Highcharts.getOptions().colors;
小提琴示例在这里: http://jsfiddle.net/TU7TL/4/