2017-04-10 105 views
0

我正在尋找一種方法來使用CanvasJS設置沿Y軸的標籤寬度。我可以設置最大寬度,但這不是我想要的。我希望能夠簡單地將寬度設置爲例如。 200px,並且只要標籤的左側或右側具有額外的空間(如果它恰好較短)。在CanvasJS中設置y軸標籤的寬度?

一點背景:我們在頁面上垂直顯示3個獨立的柱狀圖&需要Y軸排列。雖然3個圖表中每一個的標籤寬度都不相同。

目前的結果(壞,Y軸不排隊)

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

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

$40,000 | 
$30,000 | [chart 3] 
$20,000 | 
$10,000 | 
$0  ----------------- 

期望的結果(好,Y軸一字排開)

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

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

$40,000 | 
$30,000 | [chart 3] 
$20,000 | 
$10,000 | 
$0  ----------------- 

謝謝!

回答

3

我不確定你是否可以做到這一點。但是你可以使用保證金並對齊所有圖表。但是,標籤不會從左側位置開始。相反,它會在標籤開始之前創建一個空白處。

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。希望有所幫助。

+0

謝謝,Beevk。我收到了來自CanvasJS支持的非常類似的響應,並使用它來查找最高的x2值並相應地設置其他圖表的餘量。它像一個魅力。正如你所說的,當有額外的空間時,標籤右對齊,左邊有空白,但看起來很棒。再次感謝! –