一般来说,您不能将自定义标记添加到柱形图中,但您可以添加类似的行为。我已经为分散系列创建了带有自定义标记的简单示例,如果您想在图例中添加更多系列,这很有用:http: //jsbin.com/oyudan/37/edit(如果没有,只需设置showInLegend: false
)
Highcharts.updateMarketMarkers = function (chart) {
/* get category width */
var catWidth = chart.xAxis[0].width / chart.xAxis[0].categories.length;
/* get padding of each column (two sides) */
var catPadding = chart.series[0].options.pointPadding * catWidth;
/* actual value - padding - symbol width/2 */
chart.series[2].markerGroup.translate(chart.series[2].markerGroup.translateX - 2 * catPadding - chart.series[2].data[0].shapeArgs.r / 2);
};
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column',
showAxes: false,
events: {
load: function () {
Highcharts.updateMarketMarkers(this);
},
redraw: function () {
Highcharts.updateMarketMarkers(this);
}
}
},
...
另一种解决方案是使用 Highcharts 渲染器在特定位置绘制自定义形状。在这里您可以找到有关渲染器的更多信息:http: //api.highcharts.com/highcharts#Renderer