在 CanvasJS 中设置 y 轴标签的宽度?

Set width of y-axis labels in CanvasJS?

我正在寻找一种使用 CanvasJS 沿 Y 轴设置标签宽度的方法。我可以设置最大宽度,但这不是我想要的。我希望能够简单地将宽度设置为例如。 200px,如果恰好更短,则在标签的左侧或右侧添加额外的 space。

一点背景知识:我们在一个页面上垂直显示 3 个单独的柱形图并且需要 Y 轴对齐。 3 个图表中每个图表的标签宽度各不相同。

当前结果(不好,Y 轴未对齐)

1,500 |
1,000 |   [chart 1]
500   |
0     ----------------- 

0.4 |
0.3 |   [chart 2]
0.2 |
0.1 |
0   ----------------- 

,000 |
,000 |   [chart 3]
,000 |
,000 |
[=10=]      ----------------- 

期望的结果(良好,Y 轴对齐)

1,500   |
1,000   |   [chart 1]
500     |
0       ----------------- 

0.4     |
0.3     |   [chart 2]
0.2     |
0.1     |
0       ----------------- 

,000 |
,000 |   [chart 3]
,000 |
,000 |
[=11=]      ----------------- 

谢谢!

我不确定你是否能做到。但是您可以使用边距并对齐所有图表。但是,标签不会从左侧位置开始。相反,它会在标签开始之前创建一个间隙。

axisY: [{
    labelMaxWidth: 100,
    prefix: "This"
}]

您必须设置边距值才能对齐。为此,您可以使用 set 方法。

chart2.axisY[0].set("margin", chart.axisY[0].bounds.x2 - (chart2.axisY[0].bounds.x2 - chart2.axisY[0].bounds.x1));

这是一个工作 fiddle。希望对您有所帮助。