Highcharts 绘图带标签 zIndex

标签 highcharts

我试图将 plotBand 放置在轴刻度下方,但其标签位于它们上方。

由于标签继承了 band 的 zIndex 并且无法指定此属性,是否有一种方法不需要我在绘制图表后更改 zIndex?

查看示例 here ,我希望标 checkout 现在 yAxis 刻度前面。

我看到了一个潜在的解决方案 here ,但想知道是否有更好的方法来实现它。

最佳答案

许多 Highcharts 似乎不支持开箱即用的 zIndex 属性,因为它使用 SVG。来自this question的答案状态:

“SVG 中的 Z 索引由元素在文档中出现的顺序定义。如果要将特定形状置于顶部,则必须更改元素顺序。”

这就是 .toFront() 函数的作用,因此您可能会在使用它时遇到困难。

我编写了一个小片段,在图表首次渲染时将所有plotBand 的标签更新到前面:

Highcharts.Chart.prototype.firstRender = (function (func){
     return function(){
         func.apply(this, arguments);
         $.each(this.axes, function(){
             $.each(this.plotLinesAndBands, function(){
                 this.label.toFront(); 
             });
         });
         this.tooltip.label.toFront();
         this.seriesGroup.label.toFront();
     }
 } (Highcharts.Chart.prototype.firstRender));

这是 JSFiddle 上的示例。让我知道这是否满足您的需要。

关于Highcharts 绘图带标签 zIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335115/

相关文章:

highcharts - 支持 d3 的仪表盘

javascript - highcharts pie drilldown 在 meteorjs 中不起作用

javascript - 减少 Highcharts 中点之间的距离

Highcharts JSON 调用的 javascript 关联数组、循环和/或范围问题

javascript - Highcharts 是否支持数据分组?

javascript - Jarviswidget 全屏未使用 Highchart 正确呈现

javascript - 如何将数组中的 json 插入 highcharts?

highcharts - 禁用工具提示一分?

javascript - Highcharts 蜘蛛网图表在调用 series.setData 后调整轴大小

javascript - 无法在 Highcharts 中的 x 轴上显示日期