2

我有 x 轴上有 10 个点的折线图,y 轴是可变的。我需要的是 - 当我(例如)指向 x=3 时,它正在移动到图表的末尾(x=10)。但是当有 10 个值(x 在图表末尾)时,我需要删除 x=1 处的第一个数据点,所有数据点都向左移动,新值写入 x=10 的位置。我不知道该怎么做,我有想法,但它的工作很奇怪。感谢您的一些想法。

它在winforms中工作。这是图表的图像,例如: 例子

4

1 回答 1

0

我的问题的解决方案在这里:

我++;

        if(i<11) { Series s = chart1.Series["Mereni"]; s.Points.AddXY(i, Convert.ToDecimal(textBox1.Text)); }


      if( i > 10) { Series s = chart1.Series["Mereni"];
            
            



            DataPoint s1 = new DataPoint(1,s.Points[1].YValues[0]);
            DataPoint s2 = new DataPoint(2, s.Points[2].YValues[0]);
            DataPoint s3 = new DataPoint(3, s.Points[3].YValues[0]);
            DataPoint s4 = new DataPoint(4, s.Points[4].YValues[0]);
            DataPoint s5 = new DataPoint(5, s.Points[5].YValues[0]);
            DataPoint s6 = new DataPoint(6, s.Points[6].YValues[0]);
            DataPoint s7 = new DataPoint(7, s.Points[7].YValues[0]);
            DataPoint s8 = new DataPoint(8, s.Points[8].YValues[0]);
            DataPoint s9 = new DataPoint(9,s.Points[9].YValues[0]);
            s.Points.Clear();


            s.Points.Add(s1);
            s.Points.Add(s2);
            s.Points.Add(s3);
            s.Points.Add(s4);
            s.Points.Add(s5);
            s.Points.Add(s6);
            s.Points.Add(s7);
            s.Points.Add(s8);
            s.Points.Add(s9);
            s.Points.AddXY(10, Convert.ToDecimal(textBox1.Text));



            /*   s.Points.AddXY(10, Convert.ToDecimal(textBox1.Text)); */
            chart1.ChartAreas[0].RecalculateAxesScale(); }
于 2021-01-13T14:44:46.160 回答