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
}
},
...
});