2013-08-02 2 views
1

devexpress winforms 컨트롤을 사용하여 차트를 그렸습니다. DateTime은 X 축에 있고 Y 축은 값이 거의 없습니다. 내가 제공 한 데이터에는 일정한 간격으로 축 데이터가 포함되어 있지 않습니다. 예를 들어 오늘의 데이터, 오늘 이후의 3 일, 오늘 이후의 1 년 등의 데이터가있을 것입니다.이 데이터는 동일하게 배치되지 않습니다. 나는 데이터가 제공된 데이터 포인트를 강조하고 싶다. 그리드 선을 다음과 같이 보이게했습니다.devexpress 차트에 선택적 그리드 선을 표시 할 수 있습니까?

((XYDiagram)chartControl1.Diagram).AxisX.GridLines.MinorVisible = true; 
((XYDiagramchartControl1.Diagram).AxisY.GridLines.Visible = true; 
((XYDiagram)chartControl1.Diagram).AxisY.GridLines.MinorVisible = true; 

그러나 그리드 선은 동일한 간격과 간격으로 그립니다. 어떻게 구체적으로 내가 준 데이터 포인트를 강조 할 수 ...

+0

그리드 라인이나 데이터 포인트를 강조 표시하려고하십니까? –

+0

내가 지정한 데이터 포인트의 눈금 선. 예를 들어, 오늘 데이터에 값 50을 제공 한 경우 해당 점에서 두 축으로 그리는 눈금 선이 있어야합니다. 두 개의 눈금 선이 X 축과 Y 축을 만나는 지점을 축에 표시해야합니다 (다른 모든 눈금 선처럼). – user2645830

답변

3

내가 희망을 내가 제대로 이해 :

당신은 Constant Lines을 사용할 수 있습니다!

private void Form1_Load(object sender, EventArgs e) 
    { 
     Series series1 = new Series("Series 1", ViewType.Point); 
     series1.Points.Add(new SeriesPoint(1, 50)); 
     series1.Points.Add(new SeriesPoint(2, 150)); 
     series1.Points.Add(new SeriesPoint(4, 20)); 
     series1.Points.Add(new SeriesPoint(7, 210)); 
     series1.Points.Add(new SeriesPoint(12, 70)); 
     chartControl1.Series.Add(series1); 

     XYDiagram diagram = chartControl1.Diagram as XYDiagram; 
     foreach (SeriesPoint item in series1.Points) 
     { 
      DrawConstantLines(diagram, int.Parse(item.Argument), diagram.AxisX); 
      DrawConstantLines(diagram, (int)item.Values[0], diagram.AxisY); 
     } 
    } 

    private void DrawConstantLines(XYDiagram diagram, int value, Axis axis) 
    { 
     ConstantLine constantLine1 = new ConstantLine(); 
     axis.ConstantLines.Add(constantLine1); 
     constantLine1.AxisValue = value; 
    } 
+0

이것은 그리드 라인처럼 보이지 않습니다. 일정 선이 X 축과 Y 축을 만나는 점은 그리드 선과 같이 표시되지 않습니다. 그들도 추가 할 수있는 방법이 있습니까? – user2645830

+0

이러한 점은 각 그리드 선에 표시되지 않습니다. 대신 레이블을 사용하는 것이 어떻습니까? –

+0

series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True; series1.Label.PointOptions.PointView = PointView.ArgumentAndValues; –