microsoft-chart-controls

ChartControl - How to plot a line on X Axis (x - fixed coordinate, y - infinity)


I'm developing a C# winforms application in which I want to plot lines on X axis such that the X coordinate is a fixed value, but there is no Y coordinate specified. Something like this:enter image description here

Can this be done?


Solution

  • Stripline did the trick!

    Here's the code:

    public Series series1 = new Series
        {
            Name = "Series1",
            Color = Color.Black,
            IsVisibleInLegend = false,
            ChartType = SeriesChartType.Line,
            BorderWidth = 0,
            XValueType = ChartValueType.Double,
            YValueType = ChartValueType.Double
        };
    
        public StripLine startPositionLine = new StripLine
        {
            BorderColor = Color.Red,
            BorderWidth = 2,
            IntervalOffset = 7
        };
    
        public StripLine endPositionLine = new StripLine
        {
            BorderColor = Color.Blue,
            BorderWidth = 2,
            IntervalOffset = 11
        };
    
        private void Form1_Load(object sender, EventArgs e)
        {
            chart1.Series.Clear();
    
            chart1.ChartAreas[0].AxisX.Minimum = 0;
            chart1.ChartAreas[0].AxisX.Interval = 1;
    
            //Apparently some series with some points have to be present on the chart before the striplines get displayed
            series1.Points.AddXY(0, 0);
            series1.Points.AddXY(10, 0);
    
            chart1.Series.Add(series1);
    
            chart1.ChartAreas[0].AxisX.StripLines.Add(startPositionLine);
            chart1.ChartAreas[0].AxisX.StripLines.Add(endPositionLine);
    
            chart1.Invalidate();
        }
    

    And here's how the striplines are plotted: enter image description here

    One thing I need to check is whether or not a series needs to be plotted first before a stripline can be plotted.