public double GetLocationOfValue(object value, NumericalAxis axis) { NumericalAxisModel model = axis.Model as NumericalAxisModel; double val = Convert.ToDouble(value); val = (double)model.TransformValue(val); double delta = axis.ActualRange.Maximum - axis.ActualRange.Minimum; double normalizedValue = (val - axis.ActualRange.Minimum) / delta; IChartView view = (IChartView)axis.View; CartesianArea area = axis.View.GetArea <CartesianArea>(); double result; if (area != null && ((area.Orientation == Orientation.Vertical && axis.AxisType == Telerik.Charting.AxisType.First) || (area.Orientation == Orientation.Horizontal && axis.AxisType == Telerik.Charting.AxisType.Second))) { result = view.PlotOriginX + axis.Model.LayoutSlot.X + normalizedValue * (axis.Model.LayoutSlot.Width * view.ZoomWidth); } else { result = view.PlotOriginY + ((ChartView)view).Margin.Top + axis.Model.LayoutSlot.Y + (1.0d - normalizedValue) * (axis.Model.LayoutSlot.Height * view.ZoomHeight); } return(result); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; this.radDropDownList1.SelectedIndex = 0; LinearAxis verticalAcix = new LinearAxis(); verticalAcix.AxisType = AxisType.Second; CategoricalAxis horizontalAxis = new CategoricalAxis(); PerformanceModel model = new PerformanceModel(); for (int i = 0; i < 4; i++) { BarSeries barSeries = new BarSeries("Performance", "RepresentativeName"); barSeries.Name = "Q" + (i + 1); barSeries.HorizontalAxis = horizontalAxis; barSeries.VerticalAxis = verticalAcix; barSeries.DataSource = model.GetData(i); this.radChartView1.Series.Add(barSeries); foreach (DataPointElement pointElement in barSeries.Children) { pointElement.BorderWidth = 0; } } Theme theme = Theme.ReadCSSText(@" theme { name: ControlDefault; elementType: Telerik.WinControls.UI.RadChartElement; controlType: Telerik.WinControls.UI.RadChartView; } Bar { HeightAspectRatio { Value: 0.9; EndValue: 1; MaxValue: 1; Frames: 30; Interval: 20; EasingType: InOutCubic; RandomDelay: 200; RemoveAfterApply: true; } } "); ThemeRepository.Add(theme, false); }
public Form1() { InitializeComponent(); InitializeDropDownList(); this.EnabledQSFButtons = QSFButtons.None; BarSeries barSerias = new BarSeries(); barSerias.ValueMember = "Value"; barSerias.CategoryMember = "Date"; barSerias.DataSource = DrillDownViewModel.ParseDataByYear(); radChartView1.Views.AddNew(); radChartView1.Views.AddNew(); radChartView1.Title = "Revenue by Years"; this.radChartView1.ChartElement.ShowTitle = true; radChartView1.ChartElement.TitlePosition = TitlePosition.Top; DrillDownController controller = new DrillDownController(); this.radChartView1.Controllers.Add(controller); this.radChartView1.Drill += new DrillEventHandler(radChartView1_Drill); this.radChartView1.ShowDrillNavigation = true; FillColors(this.radChartView1.View, KnownPalette.Warm); DateTimeContinuousAxis horizontalAxis = new DateTimeContinuousAxis(); horizontalAxis.MajorStepUnit = Charting.TimeInterval.Year; horizontalAxis.MajorStep = 1; horizontalAxis.LabelFormat = "{0:yyyy}"; horizontalAxis.Title = "Year"; LinearAxis verticalAxis = new LinearAxis(); verticalAxis.AxisType = AxisType.Second; verticalAxis.Title = "USD"; barSerias.HorizontalAxis = verticalAxis; barSerias.VerticalAxis = horizontalAxis; radChartView1.Series.Add(barSerias); this.radChartView1.LabelFormatting += new ChartViewLabelFormattingEventHandler(radChartView1_LabelFormatting); this.radChartView1.ShowTrackBall = false; //smartLabelsController.Strategy = new FalpLabelStrategy(); this.radChartView1.Controllers.Add(smartLabelsController); CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; this.FillBarSeries(barSerias); }
private void SetCartesianGrid(RadChartView chart) { CartesianArea area = chart.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; grid.ForeColor = Color.LightGray; grid.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid; }
private void InitializeChart2() { CartesianArea area = this.radChartView2.GetArea <CartesianArea>(); CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.ForeColor = Color.FromArgb(235, 235, 235); grid.DrawVerticalStripes = false; grid.DrawHorizontalStripes = true; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; area.ShowGrid = true; ChartTrackballController trackball = new ChartTrackballController(); trackball.IsFixedSize = true; trackball.FixedSize = new System.Drawing.Size(150, 30); trackball.TextNeeded += new TextNeededEventHandler(trackball_TextNeeded); this.radChartView2.Controllers.Add(trackball); AreaSeries areaSeries = new AreaSeries(); areaSeries.Spline = false; areaSeries.CategoryMember = "Category"; areaSeries.ValueMember = "Value"; areaSeries.DataSource = model.Data2; areaSeries.PointSize = new SizeF(0, 0); areaSeries.BorderColor = Color.FromArgb(142, 196, 65); areaSeries.BackColor = Color.FromArgb(150, Color.FromArgb(142, 196, 65)); this.radChartView2.Series.Add(areaSeries); this.radChartView2.ChartElement.TitlePosition = TitlePosition.Top; this.radChartView2.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft; this.radChartView2.ChartElement.TitleElement.Margin = new Padding(10, 10, 0, 0); this.radChartView2.ChartElement.TitleElement.Font = font; this.radChartView2.View.Margin = new Padding(10, 0, 0, 10); LinearAxis axeY = radChartView2.Axes.Get <LinearAxis>(1); axeY.Minimum = 3000; axeY.Maximum = 4200; CategoricalAxis axeX = radChartView2.Axes.Get <CategoricalAxis>(0); axeX.LabelInterval = 2; axeX.LabelFormat = "{0:HH}"; axeX.LastLabelVisibility = Charting.AxisLastLabelVisibility.Visible; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); ((CartesianArea)this.radChartView1.View.Area).ShowGrid = true; this.radDropDownList1.DataSource = chartTypes; this.radDropDownList2.DataSource = lineCombineModes; int i = 1; foreach (DataPointElement dpe in this.radChartView1.Series[0].Children) { dpe.IsVisible = false; AnimatedPropertySetting setting = new AnimatedPropertySetting(); setting.StartValue = false; setting.EndValue = true; setting.Property = UIChartElement.IsVisibleProperty; setting.ApplyDelay = 40 + 40 * i; setting.NumFrames = 2; setting.ApplyValue(dpe); i++; } i = 1; foreach (DataPointElement dpe in this.radChartView1.Series[1].Children) { dpe.IsVisible = false; AnimatedPropertySetting setting = new AnimatedPropertySetting(); setting.StartValue = false; setting.EndValue = true; setting.Property = UIChartElement.IsVisibleProperty; setting.ApplyDelay = 60 + 60 * i; setting.NumFrames = 2; setting.ApplyValue(dpe); i++; } CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; }
public Form1() { InitializeComponent(); this.SelectedControl = this.radChartView1; CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; InitializeChartAxes(); this.SetEnabledQsfbButton(QSFButtons.ChangeTheme, false); }
private void radChartView1_Initialized(object sender, EventArgs e) { CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.ForeColor = Color.FromArgb(235, 235, 235); grid.DrawVerticalStripes = false; grid.DrawHorizontalStripes = true; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; area.ShowGrid = true; LineSeries lineSeries; lineSeries = new LineSeries(); lineSeries.BorderColor = Color.FromArgb(142, 196, 65); lineSeries.PointSize = new SizeF(0, 0); lineSeries.CategoryMember = "Category"; lineSeries.ValueMember = "Value"; lineSeries.DataSource = m_MainClass.m_LiveDataModel.Data; lineSeries.BorderWidth = 2; this.radChartView1.Series.Add(lineSeries); this.radChartView1.ChartElement.TitlePosition = TitlePosition.Top; this.radChartView1.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft; this.radChartView1.ChartElement.TitleElement.Margin = new Padding(10, 10, 0, 0); this.radChartView1.View.Margin = new Padding(10, 0, 35, 0); LinearAxis axeY = radChartView1.Axes.Get <LinearAxis>(1); axeY.Minimum = 0; axeY.Maximum = 300; axeY.MajorStep = 30; CategoricalAxis axeX = radChartView1.Axes.Get <CategoricalAxis>(0); axeX.ClipLabels = false; axeX.LabelInterval = 50; axeX.LabelFormat = "{0:HH:mm:ss.f}"; }
public Form1() { InitializeComponent(); this.SetChartViewData(); this.SetupChartView(); this.radChartView1.ShowLegend = true; this.radChartView1.LegendTitle = "Telemetry"; this.radChartView1.ShowTitle = true; this.radChartView1.Title = "Prototype car best lap telemetry"; this.radChartView1.ChartElement.TitlePosition = TitlePosition.Top; this.radChartView1.ChartElement.TitleElement.Padding = new System.Windows.Forms.Padding(this.radChartView1.View.Margin.Left, 10, 0, 0); CartesianArea area = this.radChartView1.GetArea<CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid<CartesianGrid>(); grid.DrawHorizontalStripes = true; }
private void InitializeChartHeartRate() { CartesianArea area = this.radChartViewHeartRate.GetArea <CartesianArea>(); CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.ForeColor = Color.FromArgb(235, 235, 235); grid.DrawVerticalStripes = false; grid.DrawHorizontalStripes = true; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; area.ShowGrid = true; LineSeries lineSeries = new LineSeries(); lineSeries.PointSize = new SizeF(0, 0); lineSeries.CategoryMember = "Time"; lineSeries.ValueMember = "Value"; lineSeries.DataSource = model.HeartRate; lineSeries.BorderColor = Color.FromArgb(142, 196, 65); lineSeries.BorderWidth = 2; this.radChartViewHeartRate.Series.Add(lineSeries); this.radChartViewHeartRate.ChartElement.TitlePosition = TitlePosition.Top; this.radChartViewHeartRate.Title = "Heart Rate"; this.radChartViewHeartRate.ChartElement.ShowTitle = true; this.radChartViewHeartRate.ChartElement.TitleElement.TextAlignment = ContentAlignment.MiddleLeft; this.radChartViewHeartRate.ChartElement.TitleElement.Margin = new Padding(10, 0, 0, 0); this.radChartViewHeartRate.ChartElement.TitleElement.Font = font; this.radChartViewHeartRate.View.Margin = new Padding(10, 0, 10, 0); LinearAxis axeY = radChartViewHeartRate.Axes.Get <LinearAxis>(1); axeY.Minimum = 100; axeY.Maximum = 180; //axeY.MajorStep = 1; CategoricalAxis axeX = radChartViewHeartRate.Axes.Get <CategoricalAxis>(0); axeX.LabelInterval = 5; axeX.LabelFormat = "{0:HH:mm:ss}"; axeX.LastLabelVisibility = Telerik.Charting.AxisLastLabelVisibility.Visible; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.radChartView1.GetArea <CartesianArea>().ShowGrid = true; this.radDropDownList1.DataSource = chartTypes; this.radDropDownList2.DataSource = lineCombineModes; this.radDropDownList1.SelectedValue = "Spline Area"; CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; }
private void InitializeChartAxes() { CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); LinearAxis horizontalAxis = new LinearAxis(); horizontalAxis.LabelFitMode = AxisLabelFitMode.MultiLine; horizontalAxis.Title = "Property Area (sq.ft.)"; horizontalAxis.Minimum = 450; horizontalAxis.Maximum = 2550; horizontalAxis.MajorStep = 150; area.Axes.Add(horizontalAxis); LinearAxis verticalAxis = new LinearAxis(); verticalAxis.AxisType = AxisType.Second; verticalAxis.Title = "Price (USD) per sq. ft."; verticalAxis.Minimum = 1; verticalAxis.Maximum = 9; area.Axes.Add(verticalAxis); }
private void InitializeBarChart() { CategoricalDataPoint point; BarSeries barSeries; CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.ForeColor = Color.FromArgb(235, 235, 235); grid.DrawVerticalStripes = false; grid.DrawHorizontalStripes = true; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; area.ShowGrid = true; for (int i = 0; i < barSeriesValues.Length; i++) { barSeries = new BarSeries(); point = new CategoricalDataPoint(barSeriesValues[i], "May 2012"); barSeries.DataPoints.Add(point); area.Series.Add(barSeries); } this.radChartView1.View.Margin = new Padding(0, 0, 30, 0); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); enableFormatting = true; CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.ForeColor = Color.FromArgb(200, 200, 200); grid.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dot; grid.DrawVerticalStripes = false; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); horizontalAxis.LabelFormat = "{0:MMM - dd}"; horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate; horizontalAxis.LabelRotationAngle = 315; area.Axes.Add(horizontalAxis); LinearAxis verticalAxis = new LinearAxis(); verticalAxis.Minimum = 58; verticalAxis.Maximum = 70; verticalAxis.AxisType = Telerik.Charting.AxisType.Second; area.Axes.Add(verticalAxis); InitializeOhlcSeries(); SetupOhlcLabels(); }
public MainForm() { InitializeComponent(); Random random = new Random(); // Initial Population Population initialPopulation = new Population(random); // List to store best of every iteration var bestResult = new List<double>(); // List to store average of every iteration var averageResult = new List<double>(); List<GraphMapper> globalBestOfIteration = new List<GraphMapper>(); List<GraphMapper> localBestOfIteration = new List<GraphMapper>(); List<GraphMapper> averageOfIteration = new List<GraphMapper>(); for (int i = 0; i < 20; i++) { List<GraphMapper> populationFitnessValue = new List<GraphMapper>(); List<GraphMapper> populationGFitnessValue = new List<GraphMapper>(); foreach (Chromosome chromosome in initialPopulation.Chromosomes) { if (chromosome.FitnessValue > initialPopulation.LocalBest.FitnessValue) { initialPopulation.LocalBest.ValueX = chromosome.ValueX; initialPopulation.LocalBest.ValueY = chromosome.ValueY; } if (initialPopulation.LocalBest.FitnessValue > initialPopulation.GlobalBest.FitnessValue) { initialPopulation.GlobalBest = initialPopulation.LocalBest; } } foreach (Chromosome chromosome in initialPopulation.Chromosomes) { chromosome.CalculateVelocity(); chromosome.UpdatePosition(); populationFitnessValue.Add(new GraphMapper { Category = "C " + (initialPopulation.Chromosomes.IndexOf(chromosome) + 1).ToString(), Value = chromosome.FitnessValue, }); populationGFitnessValue.Add(new GraphMapper { Category = "C " + (initialPopulation.Chromosomes.IndexOf(chromosome) + 1).ToString(), Value = chromosome.GlobalBest.FitnessValue, }); } List<SeriesMapper> listOfGraphMappers = new List<SeriesMapper> { new SeriesMapper { Category = "Position Fitness Value", GraphDataSource = populationFitnessValue, }, new SeriesMapper { Category = "Global Best Fitness Value", GraphDataSource = populationGFitnessValue, }, }; #region Add Charts dynamically to Form CartesianArea cartesianArea = new CartesianArea(); int heightGraph = 0; if (i > 0) { heightGraph = this.Controls[i - 1].Height + this.Controls[i - 1].Location.Y; } RadChartView radChart = new RadChartView { AreaDesign = cartesianArea, Location = new Point(0, heightGraph), Name = "radChartView1", ShowGrid = true, Size = new Size(1300, 700), TabIndex = 0, Text = "radChartView1", Title = "Iteration " + (i + 1).ToString(), ShowTitle = true, ShowLegend = true, }; foreach (SeriesMapper graphMappers in listOfGraphMappers) { LineSeries series = new LineSeries { LegendTitle = graphMappers.Category, PointSize = new SizeF(10, 10), BorderWidth = 2, CategoryMember = "Category", ValueMember = "Value", DataSource = graphMappers.GraphDataSource, ShowLabels = true, CombineMode = ChartSeriesCombineMode.None }; radChart.Series.Add(series); radChart.ShowSmartLabels = true; ((CartesianArea)radChart.View.Area).ShowGrid = true; } this.Controls.Add(radChart); radChart.ExportToImage(@"C:\Users\Farjad\Desktop\TOCI2\" + radChart.Title + ".png", radChart.Size); #endregion globalBestOfIteration.Add(new GraphMapper { Category = "G " + (i + 1).ToString(), Value = initialPopulation.LocalBest.FitnessValue, //Value = initialPopulation.Chromosomes.FirstOrDefault(m => m.FitnessValue == initialPopulation.Chromosomes.Max(w => w.FitnessValue)).FitnessValue, }); localBestOfIteration.Add(new GraphMapper { Category = "G " + (i + 1).ToString(), Value = initialPopulation.Chromosomes.Max(m => m.FitnessValue), }); averageOfIteration.Add(new GraphMapper { Category = "G " + (i + 1).ToString(), Value = initialPopulation.Chromosomes.Average(m => m.FitnessValue), }); } var x = 0; List<SeriesMapper> listOfSeries = new List<SeriesMapper> { new SeriesMapper { Category = "Global Best of Iteration", GraphDataSource = globalBestOfIteration, }, new SeriesMapper { Category = "Local Best of Iteration", GraphDataSource = localBestOfIteration, }, new SeriesMapper { Category = "Average Best of Iteration", GraphDataSource = averageOfIteration, }, }; #region Add Charts dynamically to Form CartesianArea cartesianArea1 = new CartesianArea(); int height = 0; height = this.Controls[Controls.Count - 1].Height + this.Controls[Controls.Count - 1].Location.Y; RadChartView chart = new RadChartView { AreaDesign = cartesianArea1, Location = new Point(0, height), Name = "radChartView1", ShowGrid = true, Size = new Size(1300, 700), TabIndex = 0, Text = "radChartView1", Title = "Summary Graph", ShowTitle = true, ShowLegend = true, }; foreach (SeriesMapper graphMappers in listOfSeries) { LineSeries series = new LineSeries { LegendTitle = graphMappers.Category, PointSize = new SizeF(10, 10), BorderWidth = 2, CategoryMember = "Category", ValueMember = "Value", DataSource = graphMappers.GraphDataSource, ShowLabels = true, CombineMode = ChartSeriesCombineMode.None }; chart.Series.Add(series); chart.ShowSmartLabels = true; ((CartesianArea)chart.View.Area).ShowGrid = true; } this.Controls.Add(chart); chart.ExportToImage(@"C:\Users\Farjad\Desktop\TOCI2\" + chart.Title + ".png", chart.Size); #endregion }
public PlotRecorderProfile_HA(JBC_API_Remote jbcConnect, RadChartView _radChartView, Label labelHotAirTemp, Label labelExtTCTemp, Label labelAirFlow, Label labelStatus, long stationID, Port port) { m_jbcConnect = jbcConnect; m_radChartView = _radChartView; m_labelHotAirTemp = labelHotAirTemp; m_labelExtTCTemp = labelExtTCTemp; m_labelAirFlow = labelAirFlow; m_labelStatus = labelStatus; m_stationID = stationID; m_port = port; m_liveData = new LiveDataModel(m_jbcConnect, m_radChartView, m_labelHotAirTemp, m_labelExtTCTemp, m_labelAirFlow, m_labelStatus, m_stationID); // //Initialize axis // //Horizontal axis - Time m_timeAxis.LabelFitMode = AxisLabelFitMode.MultiLine; m_timeAxis.PlotMode = AxisPlotMode.OnTicks; m_timeAxis.ShowLabels = true; m_timeAxis.LabelFormatProvider = new LabelTimeFormat(); m_timeAxis.LabelOffset = 1; //no mostrar el primer label //Vertical axis - Temperature m_tempAxis.AxisType = AxisType.Second; m_tempAxis.Title = "Temp ºC"; m_tempAxis.Maximum = TEMP_MAX; m_tempAxis.Minimum = TEMP_MIN; m_tempAxis.MajorStep = TEMP_STEP; //Vertical axis - Power m_powerAxis.HorizontalLocation = AxisHorizontalLocation.Right; m_powerAxis.AxisType = AxisType.Second; m_powerAxis.Title = "Power %"; m_powerAxis.Maximum = POWER_MAX; m_powerAxis.Minimum = POWER_MIN; m_powerAxis.MajorStep = POWER_STEP; // //Initialize grid area // //Adjust margins m_radChartView.View.Margin = new Padding(0); CartesianArea area = m_radChartView.GetArea <CartesianArea>(); CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawHorizontalFills = false; grid.DrawVerticalStripes = true; grid.DrawVerticalFills = false; grid.ForeColor = Color.DarkGray; //Se añaden y se quitan dos series vacias a cada eje para que pinte del color correcto el eje de temperatura y de potencia FastLineSeries lineSeries = new FastLineSeries(); lineSeries.BorderColor = Color.Black; lineSeries.DataSource = new BindingList <DataSerie>(); lineSeries.HorizontalAxis = m_timeAxis; lineSeries.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(lineSeries); lineSeries = new FastLineSeries(); lineSeries.BorderColor = Color.Black; lineSeries.DataSource = new BindingList <DataSerie>(); lineSeries.HorizontalAxis = m_timeAxis; lineSeries.VerticalAxis = m_powerAxis; m_radChartView.Series.Add(lineSeries); m_radChartView.Series.Clear(); // //Initialize series // //Profile hot air temp FastLineSeries serieProfileHotAirTemp = new FastLineSeries(); serieProfileHotAirTemp.Name = "Profile hot air temperature"; serieProfileHotAirTemp.LegendTitle = "Profile hot air temperature"; serieProfileHotAirTemp.BorderColor = Color.LightCoral; serieProfileHotAirTemp.PointSize = new SizeF(0, 0); serieProfileHotAirTemp.CategoryMember = "Time"; serieProfileHotAirTemp.ValueMember = "Value"; serieProfileHotAirTemp.DataSource = m_liveData.DataProfileHotAirTemp; serieProfileHotAirTemp.BorderWidth = 1; serieProfileHotAirTemp.HorizontalAxis = m_timeAxis; serieProfileHotAirTemp.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(serieProfileHotAirTemp); //Profile ext TC temp FastLineSeries serieProfileExtTCTemp = new FastLineSeries(); serieProfileExtTCTemp.Name = "Profile ext TC temperature"; serieProfileExtTCTemp.LegendTitle = "Profile ext TC temperature"; serieProfileExtTCTemp.BorderColor = Color.LightGreen; serieProfileExtTCTemp.PointSize = new SizeF(0, 0); serieProfileExtTCTemp.CategoryMember = "Time"; serieProfileExtTCTemp.ValueMember = "Value"; serieProfileExtTCTemp.DataSource = m_liveData.DataProfileExtTCTemp; serieProfileExtTCTemp.BorderWidth = 1; serieProfileExtTCTemp.HorizontalAxis = m_timeAxis; serieProfileExtTCTemp.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(serieProfileExtTCTemp); //Profile air flow FastLineSeries serieProfileAirFlow = new FastLineSeries(); serieProfileAirFlow.Name = "Profile air flow"; serieProfileAirFlow.LegendTitle = "Profile air flow"; serieProfileAirFlow.BorderColor = Color.DeepSkyBlue; serieProfileAirFlow.PointSize = new SizeF(0, 0); serieProfileAirFlow.CategoryMember = "Time"; serieProfileAirFlow.ValueMember = "Value"; serieProfileAirFlow.DataSource = m_liveData.DataProfileAirFlow; serieProfileAirFlow.BorderWidth = 1; serieProfileAirFlow.HorizontalAxis = m_timeAxis; serieProfileAirFlow.VerticalAxis = m_powerAxis; m_radChartView.Series.Add(serieProfileAirFlow); //Hot air temp FastLineSeries serieHotAirTemp = new FastLineSeries(); serieHotAirTemp.Name = "Hot air temperature"; serieHotAirTemp.LegendTitle = "Hot air temperature"; serieHotAirTemp.BorderColor = Color.DarkRed; serieHotAirTemp.PointSize = new SizeF(0, 0); serieHotAirTemp.CategoryMember = "Time"; serieHotAirTemp.ValueMember = "Value"; serieHotAirTemp.DataSource = m_liveData.DataHotAirTemp; serieHotAirTemp.BorderWidth = 1; serieHotAirTemp.HorizontalAxis = m_timeAxis; serieHotAirTemp.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(serieHotAirTemp); //Ext TC temp FastLineSeries serieExtTCTemp = new FastLineSeries(); serieExtTCTemp.Name = "Ext TC temperature"; serieExtTCTemp.LegendTitle = "Ext TC temperature"; serieExtTCTemp.BorderColor = Color.DarkGreen; serieExtTCTemp.PointSize = new SizeF(0, 0); serieExtTCTemp.CategoryMember = "Time"; serieExtTCTemp.ValueMember = "Value"; serieExtTCTemp.DataSource = m_liveData.DataExtTCTemp; serieExtTCTemp.BorderWidth = 1; serieExtTCTemp.HorizontalAxis = m_timeAxis; serieExtTCTemp.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(serieExtTCTemp); //Air flow FastLineSeries serieAirFlow = new FastLineSeries(); serieAirFlow.Name = "Air flow"; serieAirFlow.LegendTitle = "Air flow"; serieAirFlow.BorderColor = Color.RoyalBlue; serieAirFlow.PointSize = new SizeF(0, 0); serieAirFlow.CategoryMember = "Time"; serieAirFlow.ValueMember = "Value"; serieAirFlow.DataSource = m_liveData.DataAirFlow; serieAirFlow.BorderWidth = 1; serieAirFlow.HorizontalAxis = m_timeAxis; serieAirFlow.VerticalAxis = m_powerAxis; m_radChartView.Series.Add(serieAirFlow); //Vertical mark serie FastLineSeries serieVerticalMark = new FastLineSeries(); serieVerticalMark.BorderColor = Color.Black; serieVerticalMark.PointSize = new SizeF(0, 0); serieVerticalMark.CategoryMember = "Time"; serieVerticalMark.ValueMember = "Value"; serieVerticalMark.DataSource = m_liveData.DataVerticalMark; serieVerticalMark.BorderWidth = 1; serieVerticalMark.HorizontalAxis = m_timeAxis; serieVerticalMark.VerticalAxis = m_tempAxis; m_radChartView.Series.Add(serieVerticalMark); }
public void InitGraphs() { Random random = new Random(); // Initial Population // List to store best of every iteration var bestResult = new List<double>(); // List to store average of every iteration var averageResult = new List<double>(); for (int i = 0; i < 20; i++) { Population initialPopulation = new Population(random); List<GraphMapper> bestOfIteration = new List<GraphMapper>(); List<GraphMapper> worstOfIteration = new List<GraphMapper>(); List<GraphMapper> averageOfIteration = new List<GraphMapper>(); initialPopulation.CalculateNormalizedFitness(); initialPopulation.OrderChromosomesDescending(); initialPopulation.CalculateAccumulatedFitness(); for (int j = 0; j < 20; j++) { #region Perform GA Operations // Perform GA Operations initialPopulation.CloneElements(); initialPopulation.PerformMutation(random); initialPopulation.Production(10, random); bestOfIteration.Add(new GraphMapper { Category = "G " + (j + 1).ToString(), Value = initialPopulation.BestFitness, }); worstOfIteration.Add(new GraphMapper { Category = "G " + (j + 1).ToString(), Value = initialPopulation.WorstFitness, }); averageOfIteration.Add(new GraphMapper { Category = "G " + (j + 1).ToString(), Value = initialPopulation.AverageFitness, }); #endregion } List<SeriesMapper> listOfSeries = new List<SeriesMapper> { new SeriesMapper { Category = "Best of Iteration", GraphDataSource = bestOfIteration, }, new SeriesMapper { Category = "Worst of Iteration", GraphDataSource = worstOfIteration, }, new SeriesMapper { Category = "Average of Iteration", GraphDataSource = averageOfIteration, } }; // Add Best And Average Result to respective lists averageResult.Add(initialPopulation.Chromosomes.Sum(m => m.FitnessValue) / initialPopulation.Chromosomes.Count); bestResult.Add(initialPopulation.Chromosomes.Max(m => m.FitnessValue)); #region Add Charts dynamically to Form CartesianArea cartesianArea1 = new CartesianArea(); int height = 0; if (i > 0) { height = this.Controls[i - 1].Height + this.Controls[i - 1].Location.Y; } RadChartView chart = new RadChartView { AreaDesign = cartesianArea1, Location = new Point(0, height), Name = "radChartView1", ShowGrid = true, Size = new Size(1300, 700), TabIndex = 0, Text = "radChartView1", Title = "Iteration " + (i + 1).ToString(), ShowTitle = true, ShowLegend = true, }; foreach (SeriesMapper graphMappers in listOfSeries) { LineSeries series = new LineSeries { LegendTitle = graphMappers.Category, PointSize = new SizeF(10, 10), BorderWidth = 2, CategoryMember = "Category", ValueMember = "Value", DataSource = graphMappers.GraphDataSource, ShowLabels = true, CombineMode = ChartSeriesCombineMode.None }; chart.Series.Add(series); chart.ShowSmartLabels = true; ((CartesianArea)chart.View.Area).ShowGrid = true; } this.Controls.Add(chart); chart.ExportToImage(@"C:\Users\Farjad\Desktop\TOCI2\AIS\" + chart.Title + ".png", chart.Size); #endregion } #region Best of All Chart var heightOfPreviousChart = this.Controls[this.Controls.Count - 1].Height + this.Controls[this.Controls.Count - 1].Location.Y; RadChartView chartForBestOfIterations = new RadChartView { AreaDesign = new CartesianArea(), Location = new Point(0, heightOfPreviousChart), Name = "radChartView1", ShowGrid = true, Size = new Size(1300, 700), TabIndex = 0, Title = "Best of all Iterations", ShowTitle = true, Text = "radChartView1", ShowLegend = true, }; var dataSourceForBestResultsGraph = new List<GraphMapper>(); int counter = 1; bestResult.ForEach(m => { dataSourceForBestResultsGraph.Add(new GraphMapper { Category = "P" + counter.ToString(), Value = m, }); counter += 1; }); LineSeries lineSeriesForBestOfIteration = new LineSeries { LegendTitle = "Best of All Iterations", PointSize = new SizeF(10, 10), BorderWidth = 2, CategoryMember = "Category", ValueMember = "Value", DataSource = dataSourceForBestResultsGraph, ShowLabels = true, CombineMode = ChartSeriesCombineMode.None }; chartForBestOfIterations.Series.Add(lineSeriesForBestOfIteration); chartForBestOfIterations.ShowSmartLabels = true; ((CartesianArea)chartForBestOfIterations.View.Area).ShowGrid = true; this.Controls.Add(chartForBestOfIterations); chartForBestOfIterations.ExportToImage( @"C:\Users\Farjad\Desktop\TOCI2\AIS\" + chartForBestOfIterations.Title + ".png", chartForBestOfIterations.Size); #endregion #region Average of All Chart RadChartView chartForAverageOfIterations = new RadChartView { AreaDesign = new CartesianArea(), //Anchor = AnchorStyles.Left, //Dock = DockStyle.Fill, Location = new Point(0, chartForBestOfIterations.Height + chartForBestOfIterations.Location.Y), Name = "radChartView1", ShowGrid = true, Size = new Size(1300, 700), Title = "Average of all Iterations", ShowTitle = true, TabIndex = 0, Text = "radChartView1", ShowLegend = true, }; var dataSourceForAverageResultsGraph = new List<GraphMapper>(); counter = 1; averageResult.ForEach(m => { dataSourceForAverageResultsGraph.Add(new GraphMapper { Category = "P" + counter, Value = m, }); counter += 1; }); LineSeries lineSeriesForAverageOfIteration = new LineSeries { LegendTitle = "Average of All Iterations", PointSize = new SizeF(10, 10), BorderWidth = 2, CategoryMember = "Category", ValueMember = "Value", DataSource = dataSourceForAverageResultsGraph, ShowLabels = true, CombineMode = ChartSeriesCombineMode.None }; chartForAverageOfIterations.Series.Add(lineSeriesForAverageOfIteration); chartForAverageOfIterations.ShowSmartLabels = true; ((CartesianArea)chartForAverageOfIterations.View.Area).ShowGrid = true; this.Controls.Add(chartForAverageOfIterations); chartForAverageOfIterations.ExportToImage( @"C:\Users\Farjad\Desktop\TOCI2\AIS\" + chartForAverageOfIterations.Title + ".png", chartForAverageOfIterations.Size); #endregion }
void radChartView1_Drill(object sender, DrillEventArgs e) { CartesianSeries series = new BarSeries(); series.ValueMember = "Value"; series.CategoryMember = "Date"; DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); CartesianArea area = e.View.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; this.radChartView1.ShowTrackBall = false; switch (e.Level) { case 0: series.DataSource = DrillDownViewModel.ParseDataByYear(); radChartView1.Title = "Revenue by Years"; grid.DrawVerticalStripes = false; this.FillBarSeries(series); break; case 1: if (e.SelectedPoint != null) { year = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Year; } series.DataSource = DrillDownViewModel.ParseDataByMonth(year); radChartView1.Title = "Revenue by Months"; horizontalAxis.LabelFormat = "{0:MMMM}"; horizontalAxis.Title = "Months"; grid.DrawVerticalStripes = false; this.FillBarSeries(series); break; case 2: if (e.SelectedPoint != null) { month = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Month; } series = new LineSeries(); series.ValueMember = "Value"; series.CategoryMember = "Date"; series.DataSource = DrillDownViewModel.ParseDataByDay(year, month); series.ShowLabels = true; series.DrawLinesToLabels = true; series.SyncLinesToLabelsColor = false; series.LinesToLabelsColor = Color.Black; radChartView1.Title = "Revenue by Days"; horizontalAxis.LabelFormat = "{0:dd}"; horizontalAxis.Title = "Days"; this.radChartView1.ShowTrackBall = true; grid.DrawVerticalStripes = true; series.ForeColor = Color.Black; this.SetTrackBall(); break; } e.View.Axes.Clear(); series.HorizontalAxis = horizontalAxis; e.View.Series.Clear(); e.View.Series.Add(series); this.FillColors(e.View, KnownPalette.Warm); }
public CustomCartesianRenderer(CartesianArea area) : base(area) { }