如何在winforms上的图表中添加点?

时间:2018-04-29 07:26:18

标签: c# .net winforms math mschart

我解决了模糊建模的问题。

我需要在原始数据上构建图表。从.txt文件中,我读取了值。

图表构建如下:

列表中的最小值是+ =步骤所在的步骤(最大值减去最小值)/ 2/2,因为我有5个图表。

也就是说,我有3, 3.101, 3.12, 3.15, 3.2, 3.4, 3.45

如果我们说要使用5个元素,则3.2是最大值。我建立在一点上:最小值+ =步骤! =最大值。 现在如何反映阵列中的点?

(我使用谷歌翻译。)​​

List<double> lsDouble;
step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
double sumX;

for(int i=0; i<kount;i++)
    {
        sumX = lsDouble[0];
        chart1.Series[i].BorderWidth = 6;
        for (int j = 0; j<kount;j++)
        {
           if (i == j)  valY = 1;
           else valY = 0;

           chart1.Series[i].Points.AddXY(sumX, valY);
           sumX += step;
        }
    }

我有:

enter image description here

我需要得到:

points on this chart with vertical lines

代码:

switch (kount)
                {
                    case 2:
                        step = (lsDouble[kount - 1] - lsDouble[0]);
                        break;
                    case 3:
                        step = (lsDouble[kount - 1] - lsDouble[0]) / 2;
                        break;
                    case 5:
                        step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
                        break;

                }


                double sumX;

                for(int i=0; i<kount;i++)
                {
                    sumX = lsDouble[0];
                    chart1.Series[i].BorderWidth = 6;
                    for (int j = 0; j<kount;j++)
                    {
                        if (i == j)
                            valY = 1;
                        else valY = 0;

                        chart1.Series[i].Points.AddXY(sumX, valY);
                        sumX += step;
                        //if(sumX==lsDouble[kount-1])
                        //    chart1.Series[i].Points.AddXY(sumX, valY);
                    }
                }

0 个答案:

没有答案