void drawChart(int index) { ChartView.GraphPane.CurveList.Clear(); ChartView.GraphPane.GraphObjList.Clear(); myPane = ChartView.GraphPane; myPane.Title.Text = monitoring_data[index].GetHardwareName() + " " + monitoring_data[index].GetName() + " " + monitoring_data[index].GetSensorType(); myPane.XAxis.Title.Text = "time"; myPane.YAxis.Title.Text = "value"; var values = monitoring_data[index].getAllValue(); // Создадим список точек PointPairList list = new PointPairList(); PointPairList listMax = new PointPairList(); // Заполняем список точек foreach (var i in values) { list.Add(values.IndexOf(i), i.getVal()); listMax.Add(values.IndexOf(i), monitoring_data[index].GetMaxValue()); } LineItem myCurve = myPane.AddCurve("Value", list, Color.Green, SymbolType.None); myPane.AddCurve("Max Value", listMax, Color.Red, SymbolType.None); // Вызываем метод AxisChange (), чтобы обновить данные об осях. // В противном случае на рисунке будет показана только часть графика, // которая умещается в интервалы по осям, установленные по умолчанию ChartView.AxisChange(); // Обновляем график ChartView.Invalidate(); //ZoomGrid(1.5f); }
private void drawParts(Dictionary <ProblemParts, double> data) { ChartView.GraphPane.CurveList.Clear(); ChartView.GraphPane.GraphObjList.Clear(); piePane = ChartView.GraphPane; piePane.Title.Text = "Ratio of dangerous state to normal for parts"; var labels = new List <string>(); var values = new List <double>(); int i = 0; foreach (var key in data.Keys) { PieItem pieSlice = piePane.AddPieSlice(data[key], colors[i], 0F, key.ToString()); //pieSlice.LabelType = PieLabelType.None; //values.Add(data[key]); //labels.Add(key.ToString()); i++; } //piePane.AddPieSlices(values.ToArray(), labels.ToArray()); ChartView.AxisChange(); ChartView.Invalidate(); }