2009-05-25 5 views
1

ZedGraph 컨트롤을 사용하여 실제 값을 갖는 축 레이블, 나는 13의 Y 값을 가지고 데이터 (34)을 플로팅하고 말과 55ZedGraph (.NET) - 만

나는 나의 Y 축을 설정하는 방법 그래서 표시된 유일한 텍스트 레이블 (그리고 나는 격자 선이 동기화 될 것이라고 추측합니다)은 13, 34 및 55에 대한 것입니까?

정기적으로 간격을 둔 레이블을 내 데이터 범위 (0, 25, 50, 75 등)에 넣고 싶지는 않습니다. 실제 값에 레이블 만 붙이십시오.

+1

이 도움이 될 수 있습니다 : http://stackoverflow.com/questions/816256/zedgraph-labels –

+0

감사를 제안하기위한, 불행히도 그 정도 대답에 대해 서로 다른 – xyz

답변

3

직접 구입할 수 없다고 생각합니다.

다음은 맞춤 TextObj 라벨을 사용하여 생성 된 일부 불량한 해결책입니다.

zg1.MasterPane[0].YAxis.Scale.IsVisible = false; 
zg1.MasterPane[0].YAxis.MajorTic.IsAllTics = false; 

그런 다음, 사용자 정의 레이블을 만들어야합니다

첫째, 당신은 이전 축 스케일을 해제해야합니다. y_vals가 Y 값의 배열 인 경우 :

foreach (double val in y_vals) 
      { 
       TextObj text = new TextObj(val.ToString(), zg1.MasterPane[0].XAxis.Scale.Min, val); 
       text.Location.AlignH = AlignH.Right; 
       text.FontSpec.Border.IsVisible = false; 
       text.FontSpec.Fill.IsVisible = false; 
       zg1.MasterPane[0].GraphObjList.Add(text); 
      } 

LineObj를 사용하여 동일한 방식으로 맞춤 그리드 선을 만들 수 있습니다. 그냥 foreach 루프 안쪽이 추가

LineObj line = new LineObj(zg1.MasterPane[0].XAxis.Scale.Min, val, zg1.MasterPane[0].XAxis.Scale.Max, val); 
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
line.Line.Width = 1f; 
zg1.MasterPane[0].GraphObjList.Add(line); 
+0

감사합니다. 나는이 질문이 길게 죽었다고 생각했다 :-) – xyz

+0

나는 stackoverflow에 새로운 사람이고 "zedgraph"태그로 표시된 몇 가지 질문을 찾고 있었다;) 나는 게시 날짜를 나중에 알았다;) – Gacek

관련 문제