Ejemplo n.º 1
0
 private static void Demo1()
 {
     DataSeries.ListDataSeries xData = new DataSeries.ListDataSeries("x");
     DataSeries.ListDataSeries yData = new DataSeries.ListDataSeries("y", xData);
     for (double x = 0.0; x < 5.0; x++)
     {
         xData.Add(x);
         yData.Add(x * x);
     }
     System.Console.Out.WriteLine(yData.ToListPairDouble());
 }
Ejemplo n.º 2
0
            /// <summary>
            /// If a record contains a field that can't be parsed as a double, the whole
            /// record is skipped.
            /// </summary>
            public static IDataSeries[] ReadDataSeries(RecordIterator it, bool useHeaders)
            {
                if (!it.MoveNext())
                {
                    return(null);
                }
                IList <string> record = it.Current;
                // read first record
                int columns = record.Count;

                if (columns < 1)
                {
                    throw new ArgumentException();
                }
                DataSeries.ListDataSeries[] serieses = new DataSeries.ListDataSeries[columns];
                for (int col = 0; col < columns; col++)
                {
                    DataSeries.ListDataSeries series = new DataSeries.ListDataSeries("y" + col);
                    if (col == 0)
                    {
                        series.SetName("x");
                    }
                    else
                    {
                        series.SetDomain(serieses[0]);
                    }
                    serieses[col] = series;
                }
                if (useHeaders)
                {
                    // first record contains header strings
                    for (int i = 0; i < record.Count && i < serieses.Length; i++)
                    {
                        serieses[i].SetName(record[i]);
                    }
                    record = it.Current;
                }
                while (true)
                {
                    try
                    {
                        double[] values = new double[columns];
                        for (int col_1 = 0; col_1 < columns; col_1++)
                        {
                            values[col_1] = double.ValueOf(record[col_1]);
                        }
                        for (int col_2 = 0; col_2 < columns; col_2++)
                        {
                            serieses[col_2].Add(values[col_2]);
                        }
                    }
                    catch (NumberFormatException)
                    {
                    }
                    // skip whole record
                    if (!it.MoveNext())
                    {
                        break;
                    }
                    record = it.Current;
                }
                return(serieses);
            }