Highcharts不使用选项Highcharts.Series.prototype.drawPoints = function(){}

时间:2016-10-07 18:40:25

标签: highcharts hover highstock zooming markers

我正在创建一个图表,我只想在悬停时显示系列的标记。我已经尝试过这个问题(Highcharts markers on legend and hover ONLY)所示的解决方案,它可以完美地显示我想要的标记。     但是,我在同一个html页面中有另一个需要显示标记的图表,当我将该问题上的解决方案应用于我想要的图表(第一个图表)时,我放大了另一个图表(第二个图表)系列由点表示的不会缩放,它们会将所有标记保留在图表上。 选项

Highcharts.Series.prototype.drawPoints = function() { };

位于jsfiddle https://jsfiddle.net/erifel/sx3dcmny/

的第37行

1 个答案:

答案 0 :(得分:0)

您应该能够使用 marker.enabled:false series.states.hover.lineWidthPlus:0 来实现您的图表而无需重置drawPoints函数。这样,您可以在放大图表时重绘标记。

如果要在图例中显示隐藏的标记,可以在Legend原型中包装renderItem函数:

H.wrap(H.Legend.prototype,'renderItem',function(proceed,item){
  var enabled = item.options.marker.enabled;
  item.options.marker.enabled = true;
  proceed.apply(this, Array.prototype.slice.call(arguments, 1));
  item.options.marker.enabled = enabled;
});

在这里,您可以看到一个示例:https://jsfiddle.net/sx3dcmny/12/