悬停时/悬停后的Highcharts标记大小更改

时间:2016-03-23 13:47:51

标签: javascript charts highcharts

highcharts标记大小还有另一个问题。有3个属性,大小取决于:半径,高度,宽度。半径的默认值是4.我设置标记的高度和宽度,这取决于一些数据,例如:

 marker: {
     height: 50,
     width: 70,
     symbol: 'circle'
 }

图表正在渲染。以下是它的外观:enter image description here

但之后,或悬停行动规模发生变化。它返回默认值RADIUS,并忽略我的高度和宽度值: enter image description here

任何想法,如何解决?

1 个答案:

答案 0 :(得分:1)

您可以通过将setState方法包装在Highcharts中(或使用mouseOver事件)来完成此工作。这是一个简单的例子:

(function (H) {
  H.wrap(H.Point.prototype, 'setState', function (p) {
    p.apply(this, [].slice.call(arguments, 1));

    if (this.marker && this.graphic) {
      this.graphic.attr({
        width: this.marker.width,
        height: this.marker.height
      });
    }
  });
})(Highcharts);

现场演示:http://jsfiddle.net/o5nkeup7/1/

我建议禁用halo - 光环路径始终为圆形,并且在您的情况下不起作用。