Chart.js。固定垂直轴的水平位置

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

enter image description here

如何保证垂直轴的水平位置以屏幕边缘的像素为单位固定?照片中显示了轴的位置如何根据比例标签中的数字数量而变化。(我需要照片中的X是恒定的,这样剧情才能与页面上的其他元素对齐)。

我已经尝试调整了。

  • Options > layout > padding > left; 这样就把所有的东西都移到了右边,但是垂直轴的位置仍然取决于y轴刻度标签中的数字数量。
  • Options > scales > yAxes > ticks > padding; 这改变了标签和轴之间的空间,但它不能保证垂直轴的位置。

我使用的是选项> responsive = false)。

chart.js chart.js2
1个回答
0
投票

也许有更好的方法,但这对我来说是有效的。

在图表选项中,我设置。options > layout > padding > left 为一个默认的像素量,适合我的情况,当标尺标签只有两位数的数字标签时。

然后我为yAxes设置了一个ID,这样我以后就可以访问它。options > scales > yAxes > id.

然后在我的JavaScript中,在定义图表的代码之后,我添加了以下代码,如果刻度标签有三位数(在我的情况下,我将其设置为1),则调整左边的padding。

var axis = myLineChart.scales.<id of my y axis>;
var max_tick_label = axis.ticks[0];
if (max_tick_label >= 100) {
    myLineChart.options.layout.padding['left'] = 1;
    myLineChart.update();
}
© www.soinside.com 2019 - 2024. All rights reserved.