private void InitializeChart() { tChart1.Series.Add(kGauge1 = new KnobGauge()); kGauge1.Value = 1; tChart1.Series.Add(kGauge2 = new KnobGauge()); kGauge2.Value = 99; timer1.Enabled = true; timer2.Enabled = true; SetUpNGauge1(); SetUpNGauge2(); tChart1.AfterDraw += new PaintChartEventHandler(tChart1_AfterDraw); }
public BasicKnobGaugeChart(ChartView BaseChart) { knobGauge = new KnobGauge(); this.BaseChart = BaseChart; knobGauge.FillSampleValues(4); BaseChart.Chart.Series.Add(knobGauge); knobGauge.MinorTicks.Visible = false; knobGauge.Ticks.Visible = false; BaseChart.Chart.Header.Visible = false; BaseChart.Chart.Axes.Left.Labels.Visible = true; knobGauge.Axis.Increment = 10; }
public CompassChart(ChartView BaseChart) { knobGauge = new KnobGauge(); this.BaseChart = BaseChart; var = new Variables.Variables(); backPointer = new GaugeSeriesPointer(BaseChart.Chart, knobGauge); try { Compass.Start(SensorSpeed.UI); Compass.ReadingChanged += Compass_ReadingChanged; } catch (Exception) { } BaseChart.Chart.Panning.Active = true; BaseChart.Chart.Panning.Allow = ScrollModes.Both; BaseChart.Chart.Zoom.Active = true; BaseChart.Chart.Zoom.Allow = true; knobGauge.FillSampleValues(4); BaseChart.Chart.Series.Add(knobGauge); knobGauge.MinorTicks.Visible = false; knobGauge.Ticks.Visible = true; knobGauge.Ticks.Color = Color.FromRgb(120, 120, 120); knobGauge.Ticks.Pen.Visible = false; knobGauge.Ticks.VertSize = 7; knobGauge.Ticks.HorizSize = 2; knobGauge.AxisInside = true; BaseChart.Chart.Header.Visible = false; BaseChart.Chart.Axes.Left.Labels.Visible = true; knobGauge.FaceBrush.Gradient.Visible = true; knobGauge.FaceBrush.Gradient.UseMiddle = true; knobGauge.FaceBrush.Gradient.Direction = GradientDirection.Radial; knobGauge.FaceBrush.Gradient.StartColor = Color.FromRgb(255, 255, 255); knobGauge.FaceBrush.Gradient.MiddleColor = Color.FromRgb(240, 240, 240); knobGauge.FaceBrush.Gradient.EndColor = Color.FromRgb(220, 220, 220); knobGauge.RedLine.Visible = false; knobGauge.GreenLine.Visible = false; knobGauge.CircleBackColor = Color.White; knobGauge.Color = Color.White; knobGauge.Axis.Labels.Font.Size = 17; knobGauge.LabelsInside = true; knobGauge.Axis.LabelsOnAxis = false; knobGauge.Value = 1; knobGauge.Center.SizeDouble = 10; knobGauge.Center.Color = Color.FromRgb(64, 64, 64); knobGauge.Center.Gradient.Visible = false; knobGauge.Center.Shadow.Visible = false; knobGauge.Center.Visible = false; knobGauge.HighLightBrush.Visible = false; knobGauge.Axis.Increment = 45; knobGauge.Maximum = 360; knobGauge.Rotate(180); knobGauge.TotalAngle = 360; knobGauge.Frame.Visible = true; knobGauge.Frame.OuterBand.Visible = false; knobGauge.Frame.MiddleBand.Visible = false; knobGauge.Frame.InnerBand.Visible = true; knobGauge.Frame.InnerBand.Solid = true; knobGauge.Frame.InnerBand.Color = Color.FromRgb(170, 170, 170); knobGauge.Frame.Width = 2; knobGauge.Frame.FrameElementPercents = new double[3] { 0, 0, 100 }; knobGauge.Frame.TotalAngle = 360; backPointer.VertSize = 100; backPointer.Visible = true; backPointer.Draw3D = false; backPointer.Pen.Visible = false; backPointer.Gradient.Visible = false; backPointer.Shadow.Visible = false; backPointer.Style = PointerStyles.DownTriangle; backPointer.Color = Color.FromRgb(150, 150, 150); backPointer.HorizSize = 49; knobGauge.Hands.Add(backPointer); knobGauge.HandDistances.Add(80); knobGauge.HandOffsets.Add(0); knobGauge.HandDistance = 80; knobGauge.HandOffset = 0; knobGauge.Active = true; knobGauge.Hand.Color = Color.Red; knobGauge.Hand.Style = PointerStyles.DownTriangle; knobGauge.Hand.Shadow.Visible = false; BaseChart.Chart.Axes.Left.GetAxisDrawLabel += Left_GetAxisDrawLabel; knobGauge.mandatory.Capacity = 2; knobGauge.mandatory.Count = 2; }
// Modifica el valor de las series private void SliderValues_ValueChanged(object sender, ValueChangedEventArgs e) { var type = chart.Chart.Series[0]; Type objType = chart.Chart.Series[0].GetType(); if (type is CircularGauge) { Math.Round(((CircularGauge)chart.Chart.Series[0]).Value = e.NewValue, 2); ((CircularGauge)chart.Chart.Series[0]).mandatory[1] = -((CircularGauge)chart.Chart.Series[0]).mandatory[1] + e.NewValue; } else if (type is KnobGauge) { Math.Round(((KnobGauge)chart.Chart.Series[0]).Value = e.NewValue, 2); if (titleChart == "Temperature Knob") { KnobGauge gauge = (KnobGauge)type; if (gauge.Value < 0.25) { gauge.Hand.Color = gauge.GreenLine.Gradient.EndColor; } else if (gauge.Value < 0.5) { gauge.Hand.Color = gauge.GreenLine.Gradient.StartColor; } else if (gauge.Value == 0.5) { gauge.Hand.Color = Color.White; } else if (gauge.Value < 0.75) { gauge.Hand.Color = gauge.RedLine.Gradient.EndColor; } else { gauge.Hand.Color = gauge.RedLine.Gradient.StartColor; } } } else if (type is LinearGauge) { if (titleChart == "Mobile Battery") { var gauge = ((LinearGauge)chart.Chart.Series[0]); gauge.Value = Math.Round(100 - e.NewValue, 2); if (e.NewValue >= 0 && e.NewValue < 25) { gauge.ValueAreaBrush.Color = Color.FromRgb(255, 0, 0); } else if (e.NewValue >= 25 && e.NewValue < 50) { gauge.ValueAreaBrush.Color = Color.FromRgb(255, 140, 0); } else if (e.NewValue >= 50 && e.NewValue < 75) { gauge.ValueAreaBrush.Color = Color.FromRgb(255, 208, 0); } else { gauge.ValueAreaBrush.Color = Color.FromRgb(0, 195, 10); } } else { var gauge = ((LinearGauge)chart.Chart.Series[0]); gauge.Value = Math.Round(e.NewValue, 2); } } settingSeriesValues.ValueItemText = e.NewValue.ToString(); }
public TemperatureKnobChart(ChartView BaseChart) { knobGauge = new KnobGauge(); this.BaseChart = BaseChart; this.annotationCold = new Annotation(); this.annotationHot = new Annotation(); annotationCold.Active = false; annotationHot.Active = false; knobGauge.FillSampleValues(4); BaseChart.Chart.Series.Add(knobGauge); knobGauge.MinorTicks.Visible = false; knobGauge.Ticks.Visible = false; BaseChart.Chart.Header.Visible = false; BaseChart.Chart.Axes.Left.Labels.Visible = false; BaseChart.Chart.Tools.Add(annotationCold); BaseChart.Chart.Tools.Add(annotationHot); knobGauge.FaceBrush.Gradient.Visible = false; knobGauge.FaceBrush.ForegroundColor = Color.White; knobGauge.GreenLineStartValue = 0; knobGauge.GreenLineEndValue = 0.5; knobGauge.RedLineStartValue = 0.5; knobGauge.RedLineEndValue = 1; knobGauge.RedLine.Gradient.Visible = true; knobGauge.RedLine.Gradient.Direction = Steema.TeeChart.Drawing.GradientDirection.TopBottom; knobGauge.RedLine.Gradient.StartColor = Color.FromRgb(255, 0, 0); knobGauge.RedLine.Gradient.EndColor = Color.FromRgb(255, 255, 192); knobGauge.RedLine.HorizSize = 10; knobGauge.GreenLine.Gradient.Visible = true; knobGauge.GreenLine.Gradient.Direction = Steema.TeeChart.Drawing.GradientDirection.BottomTop; knobGauge.GreenLine.Gradient.StartColor = Color.FromRgb(192, 255, 255); knobGauge.GreenLine.Gradient.EndColor = Color.FromRgb(0, 0, 255); knobGauge.GreenLine.HorizSize = 10; knobGauge.CircleBackColor = Color.White; knobGauge.Color = Color.White; knobGauge.FaceBrush.Color = Color.White; knobGauge.Axis.Labels.Font.Size = 17; knobGauge.LabelsInside = false; knobGauge.Axis.LabelsOnAxis = false; knobGauge.Value = 0.38; knobGauge.Center.SizeDouble = 40; knobGauge.Center.Color = Color.FromRgb(64, 64, 64); knobGauge.Center.Gradient.Visible = false; knobGauge.Axis.Increment = 1; knobGauge.Maximum = 1; annotationCold.Active = true; annotationCold.AutoSize = true; annotationCold.Text = "Cold"; annotationCold.Left = BaseChart.Width / 4; annotationCold.Top = (((BaseChart.Parent as StackLayout).Parent as Grid).Parent as ContentPage).Height + 250; annotationCold.Shape.Shadow.Visible = false; annotationCold.Shape.Font.Size = 20; annotationCold.Shape.Pen.Visible = false; annotationCold.Shape.Color = Color.Transparent; annotationCold.Shape.Font.Color = knobGauge.GreenLine.Gradient.EndColor; annotationHot.Active = true; annotationHot.AutoSize = true; annotationHot.Text = "Hot"; annotationHot.Left = BaseChart.Width + BaseChart.Width / 2; annotationHot.Top = (((BaseChart.Parent as StackLayout).Parent as Grid).Parent as ContentPage).Height + 250; annotationHot.Shape.Shadow.Visible = false; annotationHot.Shape.Font.Size = 20; annotationHot.Shape.Pen.Visible = false; annotationHot.Shape.Color = Color.Transparent; annotationHot.Shape.Font.Color = knobGauge.RedLine.Gradient.StartColor; ChangeHandColor(); }