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

Highcharts not zooming series using option Highcharts.Series.prototype.drawPoints = function() { }

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

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

在 jsfiddle 的第 37 行 https://jsfiddle.net/erifel/sx3dcmny/

您应该能够使用 marker.enabled: falseseries.states.hover.lineWidthPlus: 0 来实现您的图表无需重置 drawPoints 功能。这将使您有可能在放大图表时重新绘制标记。

如果你想在你的图例中显示隐藏的标记,你可以在你的图例原型中包装 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/