获取highcharts滚动条的左侧和顶部位置

问题描述 投票:0回答:2

我想将自定义标签放在应放在滚动条左侧的高位图上。如何获得滚动条的顶部和左侧位置。

我已经使用以下代码添加标签

chart.renderer.text('<span style="font-weight:600;"> 1-21 </span>', 20, 120)
        .css({
            color: 'green',
            fontSize: '12px'
        })
        .add();
angularjs charts highcharts highcharts-ng
2个回答
1
投票

您可以使用chart.xAxis[0].scrollbar.group.translateXchart.xAxis[0].scrollbar.group.translateY获取滚动条的位置,例如:https://codepen.io/anon/pen/KeBxNj?editors=1010

片段:

var chart = Highcharts.chart('container', {
  chart: {
    type: 'bar',
    marginLeft: 150,
    events: {
      load: function () {
        var scrollbar = this.xAxis[0].scrollbar,
            bbox;
        // Render:
        this.customLabel = this.renderer.text('<span style="font-weight:600;"> 1-21 </span>', 0, 0).attr({
          zIndex: 5
        }).add();
        // Get bbox
        bbox = this.customLabel.getBBox();

        // Position label
        this.customLabel.attr({
          x: scrollbar.group.translateX - bbox.width,
          y: scrollbar.group.translateY + bbox.height
        });
      }
    }
  },
  ...
});

0
投票

您可以使用chart.plotWidth + chart.plotLeft - 25确定滚动条的左侧位置。此外,顶部位置可以使用chart.plotTop + 10获得。数值只是顶部和左侧填充。

请看看这个codepen。 https://codepen.io/samuellawrentz/pen/eKjdpN?editors=1010

希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.