質問

I have drawn a chart though devexpress winforms control. DateTime is in X axis and Y axis has few values. The data I provide does not contain axis data at regular intervals. For example it will have a data for today, 3 days after today , 1 year after today and so on - they are not equally placed. I want to highlight the data points for which data has been provided. I have made grid lines visible using:

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

But this draws grid lines at equal intervals and spacings. How can I specifically highlight the data points I have given...

役に立ちましたか?

解決

I hope I understand you correctly :)

You can use the 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;
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top