2016-10-10 1 views
0

Kann jemand nun verhindern, dass sich die Y-Achse (horizontal) bewegt, wenn der Textbereich vergrößert wird (z. B. bei Anzeige von 100 anstelle von 1 auf einem Etikett auf der Y-Achse).MSChart-Achse bewegt sich abhängig von der Textgröße

Das folgende Bild veranschaulicht das Problem; wenn eine Dezimalzahl in der Anzahl auf den Etiketten hinzugefügt wird, wird das Diagramm der Größe verändert und die Y-Achse wird nach rechts bewegt: enter image description here

Antwort

1

Der Grund der Axis und ein paar andere ChartElements kann, ist bewegen, dass ihre Positions sind standardmäßig auf Automatic eingestellt; Wenn die Etiketten mehr Platz benötigen, bekommen sie es und der innere Anteil wird reduziert.

Wenn Sie also verhindern wollen, dass Sie einen expliziten Wert für die X Werte seiner Position setzen müssen.

Beachten Sie, dass die Werte in Prozent der jeweiligen Container sind.

Wenn Sie keinen speziellen Crossing-Wert festlegen, werden die primären Achsen immer nach links und unten von InnerPlotArea gezeichnet.

Sie wollen also die Position einzustellen, vielleicht so:

ChartArea ca = chart1.ChartAreas[0]; 
ca.InnerPlotPosition.X = 10; 

ist jedoch zu beachten, dass dies bedeutet: Die Y-Axis bei 10% des wholeChartArea.Width beginnen wird, die in der Regel so etwas wie 'almost 10%' des Ganzen bedeutet Chart.Width. (Die Legend und einige Leerzeichen benötigen normalerweise auch etwas Platz).

Also, wenn Sie die Größe Ihres Diagramms ändern, kann die Achse etwas zu weit rechts sitzen. Vielleicht möchten Sie mit der Zahl spielen und vielleicht eine zusätzliche Linie im Resize Ereignis des Diagramms codieren.

+0

Es scheint zu funktionieren! Vielen Dank! – karra