2017-04-10 4 views
0

Ich suche nach einer Möglichkeit, die Breite der Beschriftungen entlang der Y-Achse mit CanvasJS festzulegen. Ich kann die maximale Breite einstellen, aber das ist nicht was ich will. Ich möchte einfach die Breite auf zB einstellen können. 200px, und haben Sie einfach mehr Platz links oder rechts neben dem Etikett, wenn es kürzer ist.Breite der Y-Achsen-Labels in CanvasJS festlegen?

Ein kleiner Hintergrund: Wir zeigen 3 separate Säulendiagramme vertikal auf einer Seite & müssen die Y-Achsen in einer Linie. Die Breite der Beschriftungen für jeden der 3 Diagramme variiert jedoch.

Aktuelle Ergebnisse (schlecht, Y-Achse nicht aufgereiht)

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  ----------------- 

gewünschte Ergebnisse (gut, Achsen Y aufgereiht)

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  ----------------- 

Dank!

Antwort

3

Ich bin mir nicht sicher, ob Sie das erreichen können. Aber Sie können Marge verwenden und alle Diagramme ausrichten. Die Etiketten beginnen jedoch nicht von der linken Position. Stattdessen würde es eine Lücke schaffen, bevor das Label startet.

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

Sie müssten den Wert der Marge einstellen, um es auszurichten. Um dies zu tun, können Sie die Methode set verwenden.

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

Hier ist eine funktionierende fiddle. Ich hoffe, das hilft.

+0

Danke, Beevk. Ich erhielt eine sehr ähnliche Antwort von der CanvasJS-Unterstützung und verwendete sie, um den höchsten x2-Wert zu finden und den Rand der anderen Diagramme entsprechend einzustellen. Es hat wie ein Zauber funktioniert. Wie Sie gesagt haben, sind die Etiketten rechtsbündig mit einer Lücke auf der linken Seite, wenn es mehr Platz gibt, aber es sieht gut aus. Danke noch einmal! –

Verwandte Themen