Highcharts 如何使用HighChart 4移动极坐标(蜘蛛)图的标题标签?

Highcharts 如何使用HighChart 4移动极坐标(蜘蛛)图的标题标签?,highcharts,Highcharts,我创建了一个极坐标图。它有一些复杂的标题标签。它在桌面上看起来与预期的一样: 但是当它在手机上时,标题标签没有足够的显示空间。海图也没有帮我。看起来是这样的: 我想要的是移动三角形下的两个标题标签,而不改变它在桌面视图中的行为 我能做些什么来实现这一点 谢谢 您可以使用tick.label.attr({x:new_x})翻译标签方法。例如,创建一些重新定位方法: function reposition () { var chart = this, xAxis = c

我创建了一个极坐标图。它有一些复杂的标题标签。它在桌面上看起来与预期的一样:

但是当它在手机上时,标题标签没有足够的显示空间。海图也没有帮我。看起来是这样的:

我想要的是移动三角形下的两个标题标签,而不改变它在桌面视图中的行为

我能做些什么来实现这一点


谢谢

您可以使用
tick.label.attr({x:new_x})翻译标签方法。例如,创建一些重新定位方法:

function reposition () {
    var chart = this,
        xAxis = chart.xAxis[0],
        tick, bbox, xy;

  $.each(xAxis.tickPositions, function(i, pos){
    tick = xAxis.ticks[pos];

    if (tick && tick.label) {
      bbox = tick.label.getBBox(); // get label's bounding box
      xy = tick.label.xy;  // get label's xy position

      if (xy.x - bbox.width < 0) {
        tick.label.attr({
            x: bbox.width
        });
      }

      if (xy.x + bbox.width > chart.plotWidth + chart.plotLeft) {
        tick.label.attr({
            x: chart.plotWidth + chart.plotLeft - bbox.width
        });
      }
    }
  });
}

现场演示:

当标签包含更多行时,它就不是完美的。有什么解决方案吗?在
tick.label.attr(…)
方法中,我只更改
x
。请随意计算
y
并在必要时更改该值。感谢您的回复,但我不知道如何计算。很难获得所需的偏移量。你能给我一些提示吗?嗯。。换一种方式怎么样?与其尝试计算位置,不如设置标签。y=0,这样标签将始终在类别角附近开始/结束?如下所示:可以,但id不必是
y=0
,也可以是
y=5
:)请参见:
$('#container').highcharts({
    chart: {
        polar: true,
        type: 'line',
        events: {
            redraw: reposition,
          load: reposition
        }
    },
    ... 
 });