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()); }
/// <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); }