在Highchart的刻度上应用自定义样式

时间:2014-01-15 11:46:30

标签: javascript jquery highcharts highstock

我想在Highcharts的xAis刻度上应用自定义样式。我想以圆形而不是线形的方式设置刻度。  比如ticks.chart.renderer.cirlce();

无法找到完成任务的方法。

1 个答案:

答案 0 :(得分:1)

您可以包装getMatkPath函数,以呈现另一个标记,请参阅:http://jsfiddle.net/Yrygy/83/

Highcharts.wrap(Highcharts.Tick.prototype, 'getMarkPath', function (prev, x, y, tickLength, tickWidth, horiz, renderer) {
    return renderer.circle(x, y, tickLength);
});

编辑:

在Highcharts或Highstock中使用缩放/平移等时,需要从getMarkPath返回的数据是路径数组(SVG的d)。

例如:http://jsfiddle.net/AVhaL/1/

更新:(2016-01-28):

在Highcharts 4.2.x中需要新方法(我们应该返回tickmark的路径,而不是渲染对象):

Highcharts.wrap(Highcharts.Tick.prototype, 'getMarkPath', function(prev, x, y, tickLength, tickWidth, horiz, renderer) {
  return renderer.symbol('circle', x - tickLength / 2, y - tickLength / 2, tickLength, tickLength);
});