我可以在devexpress图表中显示选择性网格线吗?

时间:2013-08-02 12:18:41

标签: c# winforms charts devexpress gridlines

我通过devexpress winforms控件绘制了一张图表。 DateTime在X轴上,Y轴的值很少。我提供的数据不定期包含轴数据。例如,它将拥有今天的数据,今天的3天,今天的1年后的数据等等 - 它们的位置不同。我想强调已提供数据的数据点。我使用以下方法显示了网格线:

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

但是这会以相等的间隔和间距绘制网格线。我怎样才能特别突出我给出的数据点......

1 个答案:

答案 0 :(得分: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;
    }