Highcharts打印区域和左侧填充中的yAxis标签

Highcharts打印区域和左侧填充中的yAxis标签,highcharts,Highcharts,我有一个柱状图,在绘图区域内有yAxis标签演示: 以下是我设置标签的方式: yAxis: { labels: { align: 'left', x: 5, y: -3 } } 问题在于,最左边的列离打印区域边缘太近,以至于标签与之重叠。有没有办法调整绘图区域的填充,使列从右边开始的位置更靠前一点 您可以将min值设置为-0.49 一种可能的解决方案: 将标签保持在外部,并将plotBackgroundColor应用为图表backgroundColor 这意味着

我有一个柱状图,在绘图区域内有yAxis标签演示:

以下是我设置标签的方式:

yAxis: {
  labels: {
    align: 'left',
    x: 5,
    y: -3
  }
}
问题在于,最左边的列离打印区域边缘太近,以至于标签与之重叠。有没有办法调整绘图区域的填充,使列从右边开始的位置更靠前一点


您可以将
min
值设置为-0.49

一种可能的解决方案:

将标签保持在外部,并将
plotBackgroundColor
应用为图表
backgroundColor

这意味着图例也将以背景色显示,但同样,它处于启用状态

例如:

我问了同样的问题,从@paweł-fus那里得到了这个解决方案:

var chartExtraMargin=30;
Highcharts.wrap(Highcharts.Axis.prototype,'setAxisSize',函数(p){
p、 叫(这个);
if(this.isXAxis){
this.left+=chartExtraMargin;
此宽度-=图表边距;
this.len=Math.max(this.horiz?this.width:this.height,0);
this.pos=this.horiz?this.left:this.top;
}
});
但是,添加此选项会使工具提示出现在错误的位置。通过覆盖
Tooltip.prototype.getAnchor()
方法并在x坐标中添加额外的边距,可以解决此问题:

Highcharts.wrap(Highcharts.Tooltip.prototype,'getAnchor',函数(p,points,mouseEvent){
var anchor=p.call(this、points、mouseEvent);
锚定[0]+=chartExtraMargin;
回锚;
});

请你看看这个:还有这个:你能告诉我们为什么我们在另一个
xAxis
中使用
minPadding
它可以工作,如果在同一个
xAxis
中使用,它就不能工作吗?@SebastianBochan谢谢,但它似乎只能在某些数据上正常工作。如果图表很窄,而y轴上的数字很大,则会发生相同的重叠。此外,如果x轴上有数值而不是类别,则此方法根本不起作用。@RaeenHashemi我想那就行了。不幸的是,它使用百分比而不是固定值。如果图表变得足够窄,它仍然会中断。对于数字,使用最小填充,对于类别,使用最小值。