2016-10-10 13 views
0

텍스트 영역이 증가 할 때 (예 : Y 축의 레이블에 1 대신 100을 표시하는 경우와 같이) Y 축의 이동을 (수평으로) 방지하는 방법을 지금 누구에게 있습니까?MSChart 축이 텍스트 크기에 따라 이동

다음 이미지는 문제를 보여줍니다. 소수는 라벨 번호에 추가 될 때, 도면의 크기가 조정되어 있고 Y 축이 우측으로 이동되어 enter image description here

답변

1

이유 Axis 다른 이동할 수있는 몇 가지 다른 ChartElementsPositions 있다는 것이다 기본적으로 Automatic으로 설정하십시오. 그래서 lables가 더 많은 공간을 필요로 할 때 그들은 그것을 얻고 안쪽 부분은 줄어든다.

따라서 X 값에 대한 명시적인 값을 Position으로 설정해야하는 것을 방지하려면 다음을 수행하십시오.

해당 값은 각 컨테이너의 %입니다.

Crossing 특수 값을 설정하지 않으면 기본 축은 항상 InnerPlotArea의 왼쪽과 아래쪽에 그려집니다.

그래서 당신은 어쩌면이 같은 위치를 설정하려면 :

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

참고하지만, 이것이 의미하는 내용 : Y-Axis은 일반적으로 전체의 'almost 10%' 같은 것을 의미 wholeChartArea.Width10%에서 시작됩니다 Chart.Width. (Legend 및 일부 공백은 보통 약간의 공간도 차지합니다).

차트의 크기를 조정하면 축이 약간 오른쪽으로 기울어 질 수 있습니다. 차트의 Resize 이벤트에서 숫자를 사용하여 재생하고 추가 선을 코딩 할 수 있습니다.

+0

작동하는 것 같습니다! 고맙습니다! – karra