Plotly.js并没有直接设置轴线宽度的属性(至少我没找到…),不过有间接的方法,它可以设置刻度线的数量,通过获取容器的宽度或者高度,计算出多少个刻度线。
百度了一天,终于在GitHub issue中找到类似的方法了。
文档链接:nticks
let layout = {
xaxis: {
tickangle: 45, //X轴标签旋转45度
nticks: 30, //默认30个刻度线
}
}
resizeAxisWidth() {
//计算图表的X轴宽度,根据宽度计算画多少个刻度
const parentClientWidth = this.$refs.PlotlyContent.clientWidth; //获取图表的的总宽度
const tickWidth = 40; //每个刻度线的间隔,越大越宽,对应刻度数量越少
const nticks = parseInt(parentClientWidth / tickWidth) + 1;
if (nticks > 5) {
this.layout.xaxis.nticks = nticks; //刻度数
}
//console.log(parentClientWidth, nticks);
}