Esempio n. 1
0
        public void FillGraph(double[] values, double[] injvalues, TurboType turbo)
        {
            DataTable chartdt = new DataTable();

            chartdt.Columns.Add("X", Type.GetType("System.Double"));
            chartdt.Columns.Add("Y", Type.GetType("System.Double"));
            chartdt.Columns.Add("INJDC", Type.GetType("System.Double"));
            for (int i = 0; i < values.Length; i++)
            {
                chartdt.Rows.Add(Convert.ToDouble(x_axisvalues.GetValue(i)), values.GetValue(i), injvalues.GetValue(i));
            }
            NChart chart = nChartControl1.Charts[0];
            //NSeries series = (NSeries)chart.Series[0];
            NSmoothLineSeries line  = null;
            NSmoothLineSeries line2 = null;
            NSmoothLineSeries line3 = null;

            if (chart.Series.Count == 0)
            {
                line = (NSmoothLineSeries)chart.Series.Add(SeriesType.SmoothLine);
            }
            else
            {
                line = (NSmoothLineSeries)chart.Series[0];
            }
            if (chart.Series.Count == 1)
            {
                line2 = (NSmoothLineSeries)chart.Series.Add(SeriesType.SmoothLine);
            }
            else
            {
                line2 = (NSmoothLineSeries)chart.Series[1];
            }
            if (chart.Series.Count == 2)
            {
                line3 = (NSmoothLineSeries)chart.Series.Add(SeriesType.SmoothLine);
            }
            else
            {
                line3 = (NSmoothLineSeries)chart.Series[2];
            }
            line.ClearDataPoints();
            line2.ClearDataPoints();
            line3.ClearDataPoints();
            PressureToTorque ptt = new PressureToTorque();

            foreach (DataRow dr in chartdt.Rows)
            {
                double power  = 0;
                double torque = 0;
                torque = ptt.CalculateTorqueFromPressure(Convert.ToDouble(dr["Y"]), turbo);
                power  = TorqueToPower(torque, Convert.ToDouble(dr["X"]));
                //power =
                line.AddDataPoint(new NDataPoint(Convert.ToDouble(dr["X"]), torque));
                line2.AddDataPoint(new NDataPoint(Convert.ToDouble(dr["X"]), power));
                line3.AddDataPoint(new NDataPoint(Convert.ToDouble(dr["X"]), Convert.ToDouble(dr["INJDC"])));
            }
            nChartControl1.Refresh();
        }