private void GenerateData() { this.Chart = new Chart(); this.Chart.Title.Text = "Population Count"; StepLineSeries series = new StepLineSeries(); series.Title = "United States"; series.Items = _dataManager.GetPopulationCountBasedOnCountry("United States"); this.Chart.Series.Add(series); series = new StepLineSeries(); series.Title = "United Kingdom"; series.Items = _dataManager.GetPopulationCountBasedOnCountry("United Kingdom"); this.Chart.Series.Add(series); NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis> (o => { o.NumberFormat = "#,##0,,M"; o.IsOriginVisible = false; }); DateTimeAxis dependentAxis = Axis.CreateDefaultDependentAxis <DateTimeAxis>(); this.Chart.IndependentAxis = independentAxis; this.Chart.DependentAxis = dependentAxis; }
// Line Series public StepLineSeries SetProperties(StepLineSeries NewSeries, DataPt Pt) { NewSeries.PointForeground = Pt.Marker.Graphics.GetBackgroundBrush(); NewSeries.PointGeometrySize = Pt.Marker.Radius; return(NewSeries); }
private void SetStepLineProperties(StepLineSeries Ser, DataPt Pt) { Ser.Fill = Brushes.Transparent; Ser.PointForeground = Pt.Marker.Graphics.GetBackgroundBrush(); Ser.PointGeometrySize = Pt.Marker.Radius; Ser.AlternativeStroke = Pt.Graphics.GetStrokeBrush(); }
private StepLineSeries ConfigureLineSeries(StepLineSeries Ser) { Ser.Name = "Axle"; Ser.StrokeThickness = 2.5f; Ser.Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(28, 142, 196)); Ser.Fill = System.Windows.Media.Brushes.Transparent; Ser.PointGeometrySize = 5; Ser.PointForeground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(34, 46, 49)); return(Ser); }
public ViewModel() { var data = new[] { new Fruit { Name = "Apple", SalesPerDay = 4, Stock = 6 }, new Fruit { Name = "Orange", SalesPerDay = 6, Stock = 4 }, new Fruit { Name = "Pinaple", SalesPerDay = 2, Stock = 2 }, new Fruit { Name = "Potoato", SalesPerDay = 8, Stock = 4 }, new Fruit { Name = "Lettuce", SalesPerDay = 3, Stock = 6 }, new Fruit { Name = "Cherry", SalesPerDay = 4, Stock = 8 } }; var salesPerDaysSeries = new LineSeries <Fruit> { Name = "Items sold per day", Values = data, TooltipLabelFormatter = point => $"{point.Model.Name}, sold {point.Model.SalesPerDay} items", Mapping = (fruit, point) => { point.PrimaryValue = fruit.SalesPerDay; // use the SalesPerDay property in this series // mark point.SecondaryValue = point.Context.Index; } }; var stockSeries = new StepLineSeries <Fruit> { Name = "Active stock", Values = data, TooltipLabelFormatter = point => $"{point.Model.Stock} items remaining", Mapping = (fruit, point) => { point.PrimaryValue = fruit.Stock; // use the Stock property in this series // mark point.SecondaryValue = point.Context.Index; } }; salesPerDaysSeries.ChartPointPointerDown += SalesPerDaysSeries_ChartPointPointerDown; stockSeries.ChartPointPointerDown += StockSeries_ChartPointPointerDown; Series = new ISeries[] { salesPerDaysSeries, stockSeries }; }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is StepLineSeries) { StepLineSeries stepLineSeries = series as StepLineSeries; PartsCanvas.Children.Clear(); foreach (SeriesPartBase t in stepLineSeries.Parts) { PartsCanvas.Children.Add(t.CreatePart()); } } }
public ViewModel() { lineSeries = new StepLineSeries <double> { Values = new List <double> { -2, -1, 3, 5, 3, 4, 6 }, }; Series = new List <ISeries> { lineSeries }; }
public SeriesCollection ToStepLineSeriesCollection() { SeriesCollection seriesCollection = new SeriesCollection(); for (int r = 0; r < SeriesD.Count; r++) { StepLineSeries series = new StepLineSeries(); ConfigureSeries(series, r); seriesCollection.Add(series); } return(seriesCollection); }
private void ResetSeries() { ObservableCollection <Series> seriesSource = new ObservableCollection <Series>(); StepLineSeries series = new StepLineSeries(); series.Title = "United States"; series.Items = _dataManager.GetPopulationCountBasedOnCountry("United States"); seriesSource.Add(series); series = new StepLineSeries(); series.Title = "United Kingdom"; series.Items = _dataManager.GetPopulationCountBasedOnCountry("United Kingdom"); seriesSource.Add(series); this.Chart.Series = seriesSource; }
private SeriesCollection load5(ObservableCollection <Model> tmpCollection) { ObservableCollection <Model> Collection; SeriesCollection LineSeries; LineSeries = new SeriesCollection(); Collection = new ObservableCollection <Model>(); //readClimateAnomaly(Collection); Collection = tmpCollection; StepLineSeries Series1 = new StepLineSeries(); Series1.XPath = "XData"; Series1.YPath = "YValue"; Series1.PointsSource = Collection; LineSeries.Add(Series1); return(LineSeries); }
override protected void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is StepLineSeries) { StepLineSeries stepLineSeries = series as StepLineSeries; var points = stepLineSeries.LinePoints; var pointCount = stepLineSeries.LinePoints.Count; if (RenderingMode == Utility.RenderingMode.Default) { PartsCanvas.Children.Clear(); for (int i = 0; i < stepLineSeries.Parts.Count; i++) { var element = stepLineSeries.Parts[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) { PartsCanvas.Children.Add(element); } } } else { for (int i = 0; i < pointCount - 1; i++) { switch (RenderingMode) { case Utility.RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case Utility.RenderingMode.Default: break; case Utility.RenderingMode.WritableBitmap: WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; default: break; } } this.Collection.InvalidateBitmap(); } } }
private void AddSeries() { Random random = new Random(); if (this.Chart.Series.Count < 10) { StepLineSeries series = new StepLineSeries(); series.Items.Add(new DataPoint(new DateTime(2006, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2007, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2008, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2009, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2010, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2011, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2012, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2013, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2014, 1, 1), random.Next(10000000, 100000000))); series.Items.Add(new DataPoint(new DateTime(2015, 1, 1), random.Next(10000000, 100000000))); this.Chart.Series.Add(series); } }
public static StepLineSeries CreateStepLineSeries(DataSeriesViewModel dataSeries, Color color, bool firstSeries) { StepLineSeries stepLineSeries = new StepLineSeries(); SeriesLegendSettings legendSettings = new SeriesLegendSettings() { Title = dataSeries.Name }; stepLineSeries.LegendSettings = legendSettings; stepLineSeries.CombineMode = ChartSeriesCombineMode.None; stepLineSeries.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "XValue" }; stepLineSeries.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "YValue" }; stepLineSeries.ItemsSource = dataSeries.DataPoints; stepLineSeries.TrackBallInfoTemplate = CreateTooltipDataTemplate(dataSeries.Name, firstSeries); stepLineSeries.Stroke = new SolidColorBrush(color); return(stepLineSeries); }
public LineChartPanel(string title, object headerContent = null) : base(title, headerContent) { Content = new CartesianChart { Zoom = ZoomingOptions.Xy }; StepLine = new StepLineSeries { Values = new ChartValues <double>() }; // TODO: set the AnimationSpeed in style Content.AnimationsSpeed = TimeSpan.FromMilliseconds(100); //Content.SetDrawMarginWidth(Content.GetDrawMarginElements() * 0.9); Content.Series.Add(StepLine); //Content.VisualElements.Chart.AxisX[0].MinValue = 10; ContentGrid.Margin = new Thickness(5); }
private void cmbAzmon_SelectionChanged(object sender, SelectionChangedEventArgs e) { gpChart.Visibility = Visibility.Visible; double[] values = new double[] { }; try { dynamic getGroupName = cmbGroups.SelectedItem; string gpName = getGroupName.GroupName; dynamic getDateText = cmbAzmon.SelectedItem; string dPass = getDateText.DatePass; using (var db = new DataClass.myDbContext()) { dynamic selectedItem = dataGrid.SelectedItems[0]; long uId = selectedItem.Id; var data = db.AHistories.Where(x => x.UserId == uId && x.DatePass == dPass && x.GroupName.Equals(gpName)).Select(x => x).OrderByDescending(x => x.DatePass).ToList(); values = new double[] { data.FirstOrDefault().TrueItem, data.FirstOrDefault().FalseItem, data.FirstOrDefault().NoneItem }; Series series = new ColumnSeries(); switch (FindElement.Settings.ChartType ?? 0) { case 0: series = new ColumnSeries { }; break; case 1: series = new StackedColumnSeries { }; break; case 2: series = new LineSeries { }; break; case 3: series = new StepLineSeries { }; break; case 4: series = new StackedAreaSeries { }; break; } if (series.GetType() == typeof(ColumnSeries)) { AchievementChart.Series.Add(new ColumnSeries { Values = new ChartValues <double>(values), StrokeDashArray = new System.Windows.Media.DoubleCollection(20) }); } else if (series.GetType() == typeof(LineSeries)) { AchievementChart.Series.Add(new LineSeries { Values = new ChartValues <double>(values), StrokeDashArray = new System.Windows.Media.DoubleCollection(20) }); } else if (series.GetType() == typeof(StackedAreaSeries)) { AchievementChart.Series.Add(new StackedAreaSeries { Values = new ChartValues <double>(values), StrokeDashArray = new System.Windows.Media.DoubleCollection(20) }); } else if (series.GetType() == typeof(StackedColumnSeries)) { AchievementChart.Series.Add(new StackedColumnSeries { Values = new ChartValues <double>(values), StrokeDashArray = new System.Windows.Media.DoubleCollection(20) }); } else if (series.GetType() == typeof(StepLineSeries)) { AchievementChart.Series.Add(new StepLineSeries { Values = new ChartValues <double>(values), StrokeDashArray = new System.Windows.Media.DoubleCollection(20) }); } AchievementChart.AxisX.Add(new Axis { Labels = new string[] { "پاسخ صحیح", "پاسخ غلط", "بدون پاسخ" }, Separator = new LiveCharts.Wpf.Separator { } }); txtName.Text = dPass; txtBook.Text = gpName; } } catch (Exception) { } }
private void OnChartTypeSelectionChanged1(object sender, SelectionChangedEventArgs e) { if (Basic_Chart != null) { if (Basic_Chart.Behaviors.Count == 0) { Basic_Chart.Behaviors.Add(new ChartZoomPanBehavior()); } (Basic_Chart.SecondaryAxis as NumericalAxis).ClearValue(NumericalAxis.MaximumProperty); } ComboBox comboBox = sender as ComboBox; if (comboBox.SelectedIndex == 0 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Visible; Column_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; Basic_Chart.PrimaryAxis = this.primaryAxis; Basic_Chart.SecondaryAxis = this.secondaryAxis; Basic_Chart.Legend = this.legend; LineSeries series1 = new LineSeries(); LineSeries series2 = new LineSeries(); LineSeries series3 = new LineSeries(); ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo(); adornmentInfo1.ShowLabel = false; adornmentInfo1.ShowMarker = true; adornmentInfo1.Symbol = ChartSymbol.Ellipse; series1.AdornmentsInfo = adornmentInfo1; ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo(); adornmentInfo2.ShowLabel = false; adornmentInfo2.ShowMarker = true; adornmentInfo2.Symbol = ChartSymbol.Ellipse; series2.AdornmentsInfo = adornmentInfo2; ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo(); adornmentInfo3.ShowLabel = false; adornmentInfo3.ShowMarker = true; adornmentInfo3.Symbol = ChartSymbol.Ellipse; series3.AdornmentsInfo = adornmentInfo3; series1.XBindingPath = "Year"; series1.YBindingPath = "IND"; series1.ItemsSource = viewModel.power; series1.ShowTooltip = true; series1.EnableAnimation = true; series1.Label = "India"; series2.XBindingPath = "Year"; series2.YBindingPath = "GER"; series2.ItemsSource = viewModel.power; series2.ShowTooltip = true; series2.EnableAnimation = true; series2.Label = "Germany"; series3.XBindingPath = "Year"; series3.YBindingPath = "FRA"; series3.ItemsSource = viewModel.power; series3.EnableAnimation = true; series3.ShowTooltip = true; series3.Label = "France"; Basic_Chart.Series.Clear(); Basic_Chart.PrimaryAxis.ZoomFactor = 1; Basic_Chart.SecondaryAxis.ZoomFactor = 1; Basic_Chart.Series.Add(series1); Basic_Chart.Series.Add(series2); Basic_Chart.Series.Add(series3); } else if (comboBox.SelectedIndex == 1 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Visible; Column_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; Basic_Chart.PrimaryAxis = this.primaryAxis; Basic_Chart.SecondaryAxis = this.secondaryAxis; Basic_Chart.Legend = this.legend; SplineSeries series1 = new SplineSeries(); SplineSeries series2 = new SplineSeries(); SplineSeries series3 = new SplineSeries(); ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo(); adornmentInfo1.ShowLabel = false; adornmentInfo1.ShowMarker = true; adornmentInfo1.Symbol = ChartSymbol.Ellipse; series1.AdornmentsInfo = adornmentInfo1; ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo(); adornmentInfo2.ShowLabel = false; adornmentInfo2.ShowMarker = true; adornmentInfo2.Symbol = ChartSymbol.Ellipse; series2.AdornmentsInfo = adornmentInfo2; ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo(); adornmentInfo3.ShowLabel = false; adornmentInfo3.ShowMarker = true; adornmentInfo3.Symbol = ChartSymbol.Ellipse; series3.AdornmentsInfo = adornmentInfo3; series1.XBindingPath = "Year"; series1.YBindingPath = "IND"; series1.ItemsSource = viewModel.power; series1.EnableAnimation = true; series1.ShowTooltip = true; series1.Label = "India"; series2.XBindingPath = "Year"; series2.YBindingPath = "GER"; series2.ItemsSource = viewModel.power; series2.EnableAnimation = true; series2.ShowTooltip = true; series2.Label = "Germany"; series3.XBindingPath = "Year"; series3.YBindingPath = "FRA"; series3.ItemsSource = viewModel.power; series3.EnableAnimation = true; series3.ShowTooltip = true; series3.Label = "France"; Basic_Chart.Series.Clear(); Basic_Chart.PrimaryAxis.ZoomFactor = 1; Basic_Chart.SecondaryAxis.ZoomFactor = 1; DoubleCollection doubleCollection = new DoubleCollection(); doubleCollection.Add(5); doubleCollection.Add(3); series1.StrokeDashArray = doubleCollection; series2.StrokeDashArray = doubleCollection; series3.StrokeDashArray = doubleCollection; Basic_Chart.Series.Add(series1); Basic_Chart.Series.Add(series2); Basic_Chart.Series.Add(series3); } else if (comboBox.SelectedIndex == 2) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Visible; (SplineRangeArea_Chart.Series[0] as AdornmentSeries).AdornmentsInfo = new ChartAdornmentInfo() { AdornmentsPosition = AdornmentsPosition.TopAndBottom, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, ShowLabel = true, LabelTemplate = this.MainGrid.Resources["splineRangeAreaAdornment"] as DataTemplate }; } else if (comboBox.SelectedIndex == 3 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Visible; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; } else if (comboBox.SelectedIndex == 4) { Basic_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Collapsed; Histogram_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Visible; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; } else if (comboBox.SelectedIndex == 5 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Visible; Scatter_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; } else if (comboBox.SelectedIndex == 6 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Visible; Column_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; Basic_Chart.PrimaryAxis = this.primaryAxis; Basic_Chart.SecondaryAxis = this.secondaryAxis; Basic_Chart.Legend = this.legend; StepLineSeries series1 = new StepLineSeries(); StepLineSeries series2 = new StepLineSeries(); StepLineSeries series3 = new StepLineSeries(); ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo(); adornmentInfo1.ShowLabel = false; adornmentInfo1.ShowMarker = true; adornmentInfo1.Symbol = ChartSymbol.Ellipse; series1.AdornmentsInfo = adornmentInfo1; ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo(); adornmentInfo2.ShowLabel = false; adornmentInfo2.ShowMarker = true; adornmentInfo2.Symbol = ChartSymbol.Ellipse; series2.AdornmentsInfo = adornmentInfo2; ChartAdornmentInfo adornmentInfo3 = new ChartAdornmentInfo(); adornmentInfo3.ShowLabel = false; adornmentInfo3.ShowMarker = true; adornmentInfo3.Symbol = ChartSymbol.Ellipse; series3.AdornmentsInfo = adornmentInfo3; series1.XBindingPath = "Year"; series1.YBindingPath = "IND"; series1.ShowTooltip = true; series1.ItemsSource = viewModel.power; series1.Label = "India"; series2.XBindingPath = "Year"; series2.YBindingPath = "GER"; series2.ItemsSource = viewModel.power; series2.ShowTooltip = true; series2.Label = "Germany"; series3.XBindingPath = "Year"; series3.YBindingPath = "FRA"; series3.ItemsSource = viewModel.power; series3.ShowTooltip = true; series3.Label = "France"; Basic_Chart.Series.Clear(); Basic_Chart.PrimaryAxis.ZoomFactor = 1; Basic_Chart.SecondaryAxis.ZoomFactor = 1; Basic_Chart.Series.Add(series1); Basic_Chart.Series.Add(series2); Basic_Chart.Series.Add(series3); } else if (comboBox.SelectedIndex == 7 && viewModel != null) { Histogram_Chart.Visibility = Visibility.Collapsed; Basic_Chart.Visibility = Visibility.Visible; Column_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; Basic_Chart.PrimaryAxis = this.primaryAxis; Basic_Chart.SecondaryAxis = this.secondaryAxis; Basic_Chart.Legend = this.legend; StepAreaSeries series1 = new StepAreaSeries(); StepAreaSeries series2 = new StepAreaSeries(); DataTemplate template1 = MainGrid.Resources["labelTemplateStepArea"] as DataTemplate; DataTemplate template2 = MainGrid.Resources["labelTemplateStepArea1"] as DataTemplate; ChartAdornmentInfo adornmentInfo1 = new ChartAdornmentInfo { ShowLabel = true, LabelTemplate = template1, }; ChartAdornmentInfo adornmentInfo2 = new ChartAdornmentInfo { ShowLabel = true, LabelTemplate = template2, }; series1.AdornmentsInfo = adornmentInfo1; series1.XBindingPath = "Year"; series1.YBindingPath = "AUS"; series1.Label = "Australia"; series1.ItemsSource = viewModel.power; series1.StrokeThickness = 2; series1.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0x99, 0xDE, 0x4A)); series1.Interior = new SolidColorBrush(Color.FromArgb(0x78, 0x99, 0xDE, 0x4A)); series1.ShowTooltip = true; series2.AdornmentsInfo = adornmentInfo2; series2.XBindingPath = "Year"; series2.YBindingPath = "UK"; series2.Label = "UK"; series2.ItemsSource = viewModel.power; series2.StrokeThickness = 2; series2.Stroke = new SolidColorBrush(Color.FromArgb(0xFF, 0xA4, 0xC5, 0xF4)); series2.Interior = new SolidColorBrush(Color.FromArgb(0x78, 0xA4, 0xC5, 0xF4)); series2.ShowTooltip = true; Basic_Chart.Series.Clear(); Basic_Chart.PrimaryAxis.ZoomFactor = 1; Basic_Chart.SecondaryAxis.ZoomFactor = 1; Basic_Chart.Series.Add(series1); Basic_Chart.Series.Add(series2); } else if (comboBox.SelectedIndex == 8) { Basic_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Collapsed; Histogram_Chart.Visibility = Visibility.Visible; boxWhiskerChart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Collapsed; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; } else { Basic_Chart.Visibility = Visibility.Collapsed; Scatter_Chart.Visibility = Visibility.Collapsed; Column_Chart.Visibility = Visibility.Collapsed; Histogram_Chart.Visibility = Visibility.Collapsed; boxWhiskerChart.Visibility = Visibility.Collapsed; Waterfall_Chart.Visibility = Visibility.Visible; SplineRangeArea_Chart.Visibility = Visibility.Collapsed; } }
void Update() { chart.Series.Clear(); for (int r = 0; r < dt.Rows.Count; r++) { Series CSeries; if (Ctype == ChartType.Chart_Type.PieChart) { CSeries = new PieSeries(); } else if (Ctype == ChartType.Chart_Type.ColumnChart) { CSeries = new ColumnSeries(); } else if (Ctype == ChartType.Chart_Type.RowChart) { CSeries = new RowSeries(); } else if (Ctype == ChartType.Chart_Type.StackedColumnChart) { CSeries = new StackedColumnSeries(); } else if (Ctype == ChartType.Chart_Type.StackedRowChart) { CSeries = new StackedRowSeries(); } else if (Ctype == ChartType.Chart_Type.StackedAreaChart) { CSeries = new StackedAreaSeries(); } else if (Ctype == ChartType.Chart_Type.StepLineChart) { CSeries = new StepLineSeries(); } else { CSeries = new LineSeries(); } CSeries.Values = new ChartValues <double> { }; for (int c = 0; c < dt.Columns.Count; c++) { // Debug.WriteLine(dt.Rows[r].Field<double?>(c)); if (dt.Rows[r].Field <double?>(c) != null) { CSeries.Values.Add(dt.Rows[r].Field <double>(c)); } }//columns if (r < ListBox_Customization.Items.Count) { StackPanel panel = (StackPanel)ListBox_Customization.Items[r]; CSeries.Title = ((TextBox)panel.Children[0]).Text; CSeries.DataLabels = (((CheckBox)panel.Children[1]).IsChecked == true); double size = 10; if (double.TryParse(((TextBox)panel.Children[2]).Text, out size) == false) { size = 10; } CSeries.FontSize = size; CSeries.Stroke = ((Rectangle)((StackPanel)panel.Children[3]).Children[0]).Fill; double sth = 0; if (double.TryParse(((TextBox)panel.Children[4]).Text, out sth)) { CSeries.StrokeThickness = sth; } /* * if ((((CheckBox)panel.Children[4]).IsChecked == true)) * CSeries.Fill = ((Rectangle)((StackPanel)panel.Children[5]).Children[0]).Fill; * else * CSeries.Fill = null;*/ } else { CSeries.Title = "R" + r; CSeries.DataLabels = true; } chart.Series.Add(CSeries); }//rows if (RB_CusColors.IsChecked == true) { ColorsCollection colorsCollection = new ColorsCollection(); for (int i = 0; i < ListBox_Colors.Items.Count; i++) { StackPanel stack = (StackPanel)ListBox_Colors.Items[i]; colorsCollection.Add(((SolidColorBrush)((Rectangle)stack.Children[0]).Fill).Color); } chart.SeriesColors = colorsCollection; } else { chart.SeriesColors = null; } }
private void displayChart() { int numPoints = (int)this.ActualWidth / 2; var xValues = ViewModel.GetTimeSeries(numPoints); var maxHeartRate = ViewModel.MaxHeartRate; var maxSpeed = ViewModel.MaxSpeedKmH; var maxCadence = ViewModel.MaxCadence; var maxElevation = ViewModel.MaxElevation; var maxStrideLength = ViewModel.MaxStrideLengthM; TimeChart.AxisY.Clear(); bool showAnySpeed = ViewModel.DoShowSpeed || ViewModel.DoShowTargetSpeed; bool showAnyHeartRate = ViewModel.DoShowHeartRate; bool showAnyPace = ViewModel.DoShowPace || ViewModel.DoShowTargetPace; bool showAnyElevation = ViewModel.DoShowElevation || ViewModel.DoShowElevationChange; bool showAnyCadence = ViewModel.DoShowCadence; bool showAnyStrideLength = ViewModel.DoShowStrideLength; int speedAxisIndex = -1; int heartRateAxisIndex = -1; int paceAxisIndex = -1; int elevationAxisIndex = -1; int cadenceAxisIndex = -1; int strideLengthAxisIndex = -1; if (showAnySpeed) { var speedAxis = new Axis() { Title = "Speed", Foreground = System.Windows.Media.Brushes.DodgerBlue, LabelFormatter = value => { return(value.ToString("0.0")); } }; speedAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(speedAxis); } if (showAnyHeartRate) { var heartRateAxis = new Axis() { Title = "HeartRate (bpm)", Foreground = System.Windows.Media.Brushes.IndianRed, LabelFormatter = value => { return(value.ToString("0")); }, Position = AxisPosition.RightTop }; heartRateAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(heartRateAxis); } if (showAnyPace) { var paceAxis = new Axis() { Title = "Pace (min/km)", Foreground = System.Windows.Media.Brushes.DarkOliveGreen, LabelFormatter = value => new Pace(value).ToString(), }; paceAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(paceAxis); } if (showAnyElevation) { var elevationAxis = new Axis() { Title = "Elevation (m)", Foreground = System.Windows.Media.Brushes.Black, LabelFormatter = value => value.ToString("0"), Position = AxisPosition.RightTop }; elevationAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(elevationAxis); } if (showAnyCadence) { var cadenceAxis = new Axis() { Title = "Cadence (steps/min)", Foreground = System.Windows.Media.Brushes.Magenta, LabelFormatter = value => value.ToString("0"), Position = AxisPosition.RightTop }; cadenceAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(cadenceAxis); } if (showAnyStrideLength) { var strideLength = new Axis() { Title = "StrideLength (m)", Foreground = System.Windows.Media.Brushes.Teal, LabelFormatter = value => value.ToString("0.0"), Position = AxisPosition.RightTop }; strideLengthAxisIndex = TimeChart.AxisY.Count; TimeChart.AxisY.Add(strideLength); } var seriesCollection = new SeriesCollection(); TimeChart.Series.Clear(); if (ViewModel.DoShowSpeed) { var speeds = ViewModel.GetTimeLine <double>(nameof(TrackPoint.SpeedKmH), numPoints); var series = new LineSeries { Title = "Speed", Values = new ChartValues <double>(speeds), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 1, Stroke = TimeChart.AxisY[speedAxisIndex].Foreground, ScalesYAt = speedAxisIndex }; seriesCollection.Add(series); } if (ViewModel.DoShowPace) { var speeds = ViewModel.GetTimeLine <double>(nameof(TrackPoint.SpeedKmH), numPoints); var series = new LineSeries { Title = "Pace", Values = new ChartValues <double>(speeds), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 1, LabelPoint = chartPoint => $"{new Pace(chartPoint.Y).ToString()}min/km", Stroke = TimeChart.AxisY[paceAxisIndex].Foreground, ScalesYAt = paceAxisIndex }; seriesCollection.Add(series); } if (ViewModel.DoShowHeartRate) { var heartRates = ViewModel.GetTimeLine <int>(nameof(TrackPoint.HeartRateBpm), numPoints).Select(hr => ((double)hr)).ToList(); var series = new LineSeries { Title = "HeartRate", Values = new ChartValues <double>(heartRates), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 0, LabelPoint = chartPoint => $"{chartPoint.Y.ToString("0")}bpm", Stroke = TimeChart.AxisY[heartRateAxisIndex].Foreground, ScalesYAt = heartRateAxisIndex }; seriesCollection.Add(series); } if (ViewModel.DoShowTargetSpeed) { var targetSpeeds = ViewModel.GetTimeLine <double>(nameof(LapViewModel.TargetSpeed), numPoints); var series = new StepLineSeries { Title = "Target Speed", Fill = Brushes.Transparent, Values = new ChartValues <double>(targetSpeeds), PointGeometry = null, AlternativeStroke = Brushes.Transparent, Stroke = TimeChart.AxisY[speedAxisIndex].Foreground.Clone(), ScalesYAt = speedAxisIndex }; series.Stroke.Opacity = 0.7; seriesCollection.Add(series); } if (ViewModel.DoShowTargetPace) { var targetSpeeds = ViewModel.GetTimeLine <double>(nameof(LapViewModel.TargetSpeed), numPoints); var series = new StepLineSeries { Title = "Target Pace", Fill = Brushes.Transparent, Values = new ChartValues <double>(targetSpeeds), PointGeometry = null, AlternativeStroke = Brushes.Transparent, LabelPoint = chartPoint => $"{new Pace(chartPoint.Y).ToString()}min/km", Stroke = TimeChart.AxisY[paceAxisIndex].Foreground.Clone(), ScalesYAt = paceAxisIndex }; series.Stroke.Opacity = 0.7; seriesCollection.Add(series); } if (ViewModel.DoShowCadence) { if (maxCadence > 0) { var cadences = ViewModel.GetTimeLine <double>(nameof(TrackPoint.RunCadence), numPoints); cadences = cadences.Select(c => c * 2).ToList(); var series = new LineSeries { Title = "Cadence", Values = new ChartValues <double>(cadences), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 0, LabelPoint = chartPoint => $"{chartPoint.Y.ToString("0")} steps/min", Stroke = TimeChart.AxisY[cadenceAxisIndex].Foreground, ScalesYAt = cadenceAxisIndex }; seriesCollection.Add(series); } } if (ViewModel.DoShowStrideLength) { if (maxStrideLength > 0) { var strideLengths = ViewModel.GetTimeLine <double>(nameof(TrackPoint.StrideLengthM), numPoints); var series = new LineSeries { Title = "StrideLength", Values = new ChartValues <double>(strideLengths), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 0, LabelPoint = chartPoint => $"{chartPoint.Y.ToString("0.0")} m", Stroke = TimeChart.AxisY[strideLengthAxisIndex].Foreground, ScalesYAt = strideLengthAxisIndex }; seriesCollection.Add(series); } } if (ViewModel.DoShowElevation) { if (maxElevation > 0) { var elevations = ViewModel.GetTimeLine <double>(nameof(TrackPoint.AltitudeMeters), numPoints); var series = new LineSeries { Title = "Elevation", Values = new ChartValues <double>(elevations), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 0, LabelPoint = chartPoint => $"{chartPoint.Y.ToString("0.0")} m", Stroke = TimeChart.AxisY[elevationAxisIndex].Foreground, ScalesYAt = elevationAxisIndex }; seriesCollection.Add(series); } } if (ViewModel.DoShowElevationChange && ViewModel.Laps.SelectMany(l => l.TrackPoints).Any()) { if (maxElevation > 0 && maxSpeed > 0) { var elevations = ViewModel.GetTimeLine <double>(nameof(TrackPoint.AltitudeMeters), numPoints).ToList(); var elevationChanges = new List <Double>(); elevationChanges.Add(0); for (int i = 1; i < elevations.Count; i++) { elevationChanges.Add(elevations[i] - elevations[i - 1]); } var maxChange = elevationChanges.Max(); var minChange = elevationChanges.Min(); var totalChangeExtent = maxChange - minChange; if (totalChangeExtent > 0) { var series = new LineSeries { Title = "Elevation Change", Values = new ChartValues <double>(elevationChanges), PointGeometry = null, Fill = Brushes.Transparent, LineSmoothness = 0, LabelPoint = chartPoint => $"{chartPoint.Y} m", Stroke = TimeChart.AxisY[elevationAxisIndex].Foreground.Clone(), ScalesYAt = elevationAxisIndex }; series.Stroke.Opacity = 0.7; seriesCollection.Add(series); } } } TimeChart.Series.AddRange(seriesCollection); TimeChart.AxisX.Clear(); var timeAxis = new Axis() { Labels = xValues.Select(b => b.ToString()).ToArray() }; TimeChart.AxisX.Add(timeAxis); TimeChart.Zoom = ZoomingOptions.X; }
public void SetLineSeries(DataPtSet PollenDataSet, SeriesChartType ChartMode) { DataList = PollenDataSet; ChartType = ChartMode; List <double> DbList = new List <double>(); LineSeries tLineSeries = new LineSeries(); StackedAreaSeries tAreaSeries = new StackedAreaSeries(); tLineSeries.PointGeometry = DefaultGeometries.None; tLineSeries.Fill = null; tAreaSeries.PointGeometry = DefaultGeometries.None; tAreaSeries.Fill = null; tLineSeries = (SetProperties(tLineSeries, DataList.Points[0])); tAreaSeries = (SetProperties(tAreaSeries, DataList.Points[0])); switch (ChartType) { case SeriesChartType.Point: ChartSequence = (SetProperties(tLineSeries, DataList.Points[0])); foreach (DataPt D in DataList.Points) { LineSeries NewSeries = new LineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.Line: tLineSeries.Fill = Brushes.Transparent; tLineSeries.LineSmoothness = 0; ChartSequence = tLineSeries; foreach (DataPt D in DataList.Points) { DbList.Add(D.Number); LineSeries NewSeries = new LineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); ChartSeries.Add(NewSeries); } break; case SeriesChartType.Spline: tLineSeries.Fill = Brushes.Transparent; ChartSequence = tLineSeries; foreach (DataPt D in DataList.Points) { LineSeries NewSeries = new LineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.StepLine: StepLineSeries StepSeries = new StepLineSeries(); StepSeries.AlternativeStroke = DataList.Points[0].Graphics.GetStrokeBrush(); StepSeries = SetProperties(StepSeries, DataList.Points[0]); ChartSequence = StepSeries; foreach (DataPt D in DataList.Points) { StepLineSeries NewSeries = new StepLineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.Area: ChartSequence = tLineSeries; foreach (DataPt D in DataList.Points) { LineSeries NewSeries = new LineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.AreaStack: tAreaSeries.LineSmoothness = 0; ChartSequence = tAreaSeries; foreach (DataPt D in DataList.Points) { StackedAreaSeries NewSeries = new StackedAreaSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.AreaStack100: tAreaSeries.LineSmoothness = 0; tAreaSeries.StackMode = StackMode.Percentage; ChartSequence = tAreaSeries; foreach (DataPt D in DataList.Points) { StackedAreaSeries NewSeries = new StackedAreaSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.SplineArea: ChartSequence = tLineSeries; foreach (DataPt D in DataList.Points) { LineSeries NewSeries = new LineSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.SplineAreaStack: ChartSequence = tAreaSeries; foreach (DataPt D in DataList.Points) { StackedAreaSeries NewSeries = new StackedAreaSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; case SeriesChartType.SplineAreaStack100: tAreaSeries.StackMode = StackMode.Percentage; ChartSequence = tAreaSeries; foreach (DataPt D in DataList.Points) { StackedAreaSeries NewSeries = new StackedAreaSeries { Values = new ChartValues <double> { D.Number } }; NewSeries = SetProperties(NewSeries, D); DbList.Add(D.Number); ChartSeries.Add(NewSeries); } break; } ChartSequence.Values = new ChartValues <double>(DbList.ToArray()); //Set unique properties of the control }
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { dynamic selectedItem = dataGrid.SelectedItems[0]; waterfallFlow.Children.Clear(); Series series = new ColumnSeries(); switch (FindElement.Settings.ChartType ?? 0) { case 0: series = new ColumnSeries { }; break; case 1: series = new StackedColumnSeries { }; break; case 2: series = new LineSeries { }; break; case 3: series = new StepLineSeries { }; break; case 4: series = new StackedAreaSeries { }; break; } getStudentScore(selectedItem.Id); // get Student scores //get scores merge duplicates and replace string to int var score = _initialCollection.GroupBy(x => new { x.Book, x.Date, x.StudentId }) .Select(x => new { x.Key.StudentId, x.Key.Book, x.Key.Date, Sum = x.Sum(y => AppVariable.EnumToNumber(y.Scores)) }).ToArray(); //get Book Count for generate chart var bookCount = score.GroupBy(x => new { x.Book }) .Select(g => new { g.Key.Book }).ToList(); MaterialChart _addUser; Control _currentUser; //generate chart based on count of books foreach (var item in bookCount) { _addUser = new MaterialChart(item.Book, selectedItem.Name + " " + selectedItem.LName, getDateArray(item.Book), getScoreArray(item.Book), getAverage(item.Book), getAverageStatus(item.Book), series, AppVariable.GetBrush(FindElement.Settings.ChartColor ?? AppVariable.CHART_GREEN)); _currentUser = _addUser; waterfallFlow.Children.Add(_currentUser); } waterfallFlow.Refresh(); } catch (ArgumentNullException) { } catch (NullReferenceException) { } }
public override View GetSampleContent(Context context) { chart = new SfChart(context); chart.Title.Text = "Unemployment Rates 1975-2010"; chart.Title.TextSize = 15; chart.SetBackgroundColor(Color.White); chart.ColorModel.ColorPalette = ChartColorPalette.Natural; chart.Legend.Visibility = Visibility.Visible; chart.Legend.DockPosition = ChartDock.Bottom; chart.Legend.IconHeight = 14; chart.Legend.IconWidth = 14; chart.Legend.ToggleSeriesVisibility = true; NumericalAxis numericalAxis = new NumericalAxis(); numericalAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; numericalAxis.Minimum = 1975; numericalAxis.Maximum = 2010; numericalAxis.Interval = 5; numericalAxis.ShowMajorGridLines = false; numericalAxis.PlotOffset = 10; numericalAxis.AxisLineOffset = 10; numericalAxis.MajorTickStyle.TickSize = 10; chart.PrimaryAxis = numericalAxis; NumericalAxis numericalaxis = new NumericalAxis(); numericalaxis.Minimum = 0; numericalaxis.Maximum = 20; numericalaxis.Interval = 5; numericalaxis.LineStyle.StrokeWidth = 0; numericalaxis.MajorTickStyle.TickSize = 0; numericalaxis.LabelStyle.LabelFormat = "#'%'"; chart.SecondaryAxis = numericalaxis; StepLineSeries stepLineSeries1 = new StepLineSeries(); stepLineSeries1.ItemsSource = MainPage.GetStepLineData1(); stepLineSeries1.XBindingPath = "XValue"; stepLineSeries1.YBindingPath = "YValue"; stepLineSeries1.Label = "China"; stepLineSeries1.DataMarker.ShowMarker = true; stepLineSeries1.DataMarker.MarkerColor = Color.White; stepLineSeries1.DataMarker.MarkerWidth = 10; stepLineSeries1.DataMarker.MarkerHeight = 10; stepLineSeries1.DataMarker.MarkerStrokeColor = Color.ParseColor("#00bdae"); stepLineSeries1.DataMarker.MarkerStrokeWidth = 2; stepLineSeries1.LegendIcon = ChartLegendIcon.SeriesType; stepLineSeries1.StrokeWidth = 3; stepLineSeries1.TooltipEnabled = true; StepLineSeries stepLineSeries2 = new StepLineSeries(); stepLineSeries2.ItemsSource = MainPage.GetStepLineData2(); stepLineSeries2.XBindingPath = "XValue"; stepLineSeries2.YBindingPath = "YValue"; stepLineSeries2.Label = "Australia"; stepLineSeries2.DataMarker.ShowMarker = true; stepLineSeries2.DataMarker.MarkerColor = Color.White; stepLineSeries2.DataMarker.MarkerWidth = 10; stepLineSeries2.DataMarker.MarkerHeight = 10; stepLineSeries2.DataMarker.MarkerStrokeColor = Color.ParseColor("#404041"); stepLineSeries2.DataMarker.MarkerStrokeWidth = 2; stepLineSeries2.LegendIcon = ChartLegendIcon.SeriesType; stepLineSeries2.StrokeWidth = 3; stepLineSeries2.TooltipEnabled = true; stepLineSeries1.EnableAnimation = true; stepLineSeries2.EnableAnimation = true; chart.Series.Add(stepLineSeries1); chart.Series.Add(stepLineSeries2); return(chart); }
private void InitChart() { try { ChartBrushes = new List <Brush>(); ChartBrushes.Add(Brushes.Blue); ChartBrushes.Add(Brushes.Green); ChartBrushes.Add(Brushes.LightSalmon); ChartBrushes.Add(Brushes.DarkRed); ChartBrushes.Add(Brushes.Gold); ChartBrushes.Add(Brushes.CadetBlue); ChartBrushes.Add(Brushes.Coral); ChartBrushes.Add(Brushes.Crimson); ChartBrushes.Add(Brushes.Indigo); ChartBrushes.Add(Brushes.PaleGreen); ChartBrushes.Add(Brushes.OrangeRed); ChartBrushes.Add(Brushes.Purple); ChartBrushes.Add(Brushes.Fuchsia); ChartBrushes.Add(Brushes.AliceBlue); ChartBrushes.Add(Brushes.Orange); ChartBrushes.Add(Brushes.Purple); ChartBrushes.Add(Brushes.Chartreuse); ChartBrushes.Add(Brushes.MediumBlue); ChartBrushes.Add(Brushes.Chocolate); int countItems = ItemsId.Count; if (ItemsId != null) { for (int i = 0; i < countItems; i++) { switch (ChartType) { case ChartType.AreaSeries: Chart.Series.Add(new AreaSeries()); AreaSeries series1 = (AreaSeries)this.Chart.Series[i]; series1.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series1.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series1.Stroke = ChartBrushes[i]; series1.StrokeThickness = 2; break; case ChartType.LineSeries: Chart.Series.Add(new LineSeries()); LineSeries series2 = (LineSeries)this.Chart.Series[i]; series2.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series2.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series2.Stroke = ChartBrushes[i]; series2.StrokeThickness = 2; break; case ChartType.PointSeries: Chart.Series.Add(new PointSeries()); PointSeries series3 = (PointSeries)this.Chart.Series[i]; series3.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series3.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; break; case ChartType.SplineAreaSeries: Chart.Series.Add(new SplineAreaSeries()); SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[i]; series4.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series4.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series4.Stroke = ChartBrushes[i]; series4.StrokeThickness = 2; break; case ChartType.SplineSeries: Chart.Series.Add(new SplineSeries()); SplineSeries series5 = (SplineSeries)this.Chart.Series[i]; series5.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series5.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series5.Stroke = ChartBrushes[i]; series5.StrokeThickness = 2; break; case ChartType.StepAreaSeries: Chart.Series.Add(new StepAreaSeries()); StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[i]; series6.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series6.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series6.Stroke = ChartBrushes[i]; series6.StrokeThickness = 2; break; case ChartType.StepLineSeries: Chart.Series.Add(new StepLineSeries()); StepLineSeries series7 = (StepLineSeries)this.Chart.Series[i]; series7.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series7.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series7.Stroke = ChartBrushes[i]; series7.StrokeThickness = 2; break; } } } } catch (Exception ex) { Logger.LogIndustrialMonitoring(ex); } }
void WindowChartHistory_ShowDataCompleted(object sender, ShowDataCompletedEventArgs e) { try { if (ItemsId.Count == 1) { TextBlockTitle.Text = string.Format("{0} {1}-{2}", e.CurrentItem.ItemName, this.StartTime.ToString(), this.EndTime.ToString()); } else { TextBlockTitle.Text = string.Format("Compare {0}-{1}", this.StartTime.ToString(), this.EndTime.ToString()); } switch (ChartType) { case ChartType.AreaSeries: AreaSeries series1 = (AreaSeries)this.Chart.Series[e.ItemId.Key]; series1.ItemsSource = e.Data; break; case ChartType.LineSeries: LineSeries series2 = (LineSeries)this.Chart.Series[e.ItemId.Key]; series2.ItemsSource = e.Data; break; case ChartType.PointSeries: PointSeries series3 = (PointSeries)this.Chart.Series[e.ItemId.Key]; series3.ItemsSource = e.Data; break; case ChartType.SplineAreaSeries: SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[e.ItemId.Key]; series4.ItemsSource = e.Data; break; case ChartType.SplineSeries: SplineSeries series5 = (SplineSeries)this.Chart.Series[e.ItemId.Key]; series5.ItemsSource = e.Data; break; case ChartType.StepAreaSeries: StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[e.ItemId.Key]; series6.ItemsSource = e.Data; break; case ChartType.StepLineSeries: StepLineSeries series7 = (StepLineSeries)this.Chart.Series[e.ItemId.Key]; series7.ItemsSource = e.Data; break; } Chart.Zoom = new Size(1, 1); if (e.GenerateLegend) { ChartLegend.Items.Add(new LegendItem() { MarkerFill = ChartBrushes[e.ItemId.Key], Title = e.CurrentItem.ItemName }); } BusyIndicator.IsBusy = false; } catch (Exception ex) { Logger.LogIndustrialMonitoring(ex); } }
public override View GetSampleContent(Context context) { chart = new SfChart(context); chart.Title.Text = "CO-2 Intensity Analysis"; chart.Title.TextSize = 15; chart.SetBackgroundColor(Color.White); chart.ColorModel.ColorPalette = ChartColorPalette.Natural; chart.Legend.Visibility = Visibility.Visible; chart.Legend.DockPosition = ChartDock.Bottom; chart.Legend.IconHeight = 14; chart.Legend.IconWidth = 14; chart.Legend.ToggleSeriesVisibility = true; CategoryAxis categoryaxis = new CategoryAxis(); categoryaxis.LabelPlacement = LabelPlacement.BetweenTicks; categoryaxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; categoryaxis.Title.Text = "Year"; chart.PrimaryAxis = categoryaxis; NumericalAxis numericalaxis = new NumericalAxis(); numericalaxis.Minimum = 390; numericalaxis.Maximum = 600; numericalaxis.Interval = 30; numericalaxis.Title.Text = "Intensity (g/KWh)"; chart.SecondaryAxis = numericalaxis; StepLineSeries stepLineSeries1 = new StepLineSeries(); stepLineSeries1.ItemsSource = MainPage.GetStepLineData1(); stepLineSeries1.XBindingPath = "XValue"; stepLineSeries1.YBindingPath = "YValue"; stepLineSeries1.Label = "US"; stepLineSeries1.DataMarker.ShowMarker = true; stepLineSeries1.LegendIcon = ChartLegendIcon.Circle; stepLineSeries1.StrokeWidth = 3; stepLineSeries1.TooltipEnabled = true; StepLineSeries stepLineSeries2 = new StepLineSeries(); stepLineSeries2.ItemsSource = MainPage.GetStepLineData2(); stepLineSeries2.XBindingPath = "XValue"; stepLineSeries2.YBindingPath = "YValue"; stepLineSeries2.Label = "Korea"; stepLineSeries2.DataMarker.ShowMarker = true; stepLineSeries2.LegendIcon = ChartLegendIcon.Circle; stepLineSeries2.StrokeWidth = 3; stepLineSeries2.TooltipEnabled = true; StepLineSeries stepLineSeries3 = new StepLineSeries(); stepLineSeries3.ItemsSource = MainPage.GetStepLineData3(); stepLineSeries3.XBindingPath = "XValue"; stepLineSeries3.YBindingPath = "YValue"; stepLineSeries3.Label = "Japan"; stepLineSeries3.DataMarker.ShowMarker = true; stepLineSeries3.LegendIcon = ChartLegendIcon.Circle; stepLineSeries3.StrokeWidth = 3; stepLineSeries3.TooltipEnabled = true; stepLineSeries1.EnableAnimation = true; stepLineSeries2.EnableAnimation = true; stepLineSeries3.EnableAnimation = true; chart.Series.Add(stepLineSeries1); chart.Series.Add(stepLineSeries2); chart.Series.Add(stepLineSeries3); return(chart); }
private void Form1_Load(object sender, EventArgs e) { var now = DateTime.Now; var data = new List <Rawdata>() { new Rawdata() { DateTime = now.AddSeconds(1), Value1 = 0, Value2 = 0 }, new Rawdata() { DateTime = now.AddSeconds(2), Value1 = 1, Value2 = 1 }, new Rawdata() { DateTime = now.AddSeconds(3), Value1 = 0, Value2 = 1 }, new Rawdata() { DateTime = now.AddSeconds(4), Value1 = 1, Value2 = 1 }, new Rawdata() { DateTime = now.AddSeconds(5), Value1 = 1, Value2 = 0 }, new Rawdata() { DateTime = now.AddSeconds(6), Value1 = 0, Value2 = 0 }, }; StepLineSeries col1 = new StepLineSeries() { Values = new ChartValues <int>(), PointGeometry = null, }; StepLineSeries col2 = new StepLineSeries() { Values = new ChartValues <int>(), }; Axis ax = new Axis() { Separator = new Separator() { Step = 1, IsEnabled = false } }; ax.Labels = new List <string>(); foreach (var item in data) { col1.Values.Add(item.Value1); col2.Values.Add(item.Value2 + 2); ax.Labels.Add(item.DateTime.Second.ToString()); } cartesianChart1.Series.Add(col1); cartesianChart1.Series.Add(col2); cartesianChart1.AxisX.Add(ax); cartesianChart1.AxisY.Add(new Axis() { Labels = new[] { "aaa", "", "bbb" } }); }
public void AddLevel3Control(Point p) { switch (ControlTag) { case 31: { PieChart pieChart = new PieChart(); pieChart.Width = 400; pieChart.Height = 300; pieChart.LegendLocation = LegendLocation.Bottom; PieSeries pieSeries = new PieSeries(); pieSeries.Values = new ChartValues <int> { 5 }; pieSeries.Title = "A"; pieSeries.DataLabels = true; PieSeries pieSeries2 = new PieSeries(); pieSeries2.Values = new ChartValues <int> { 3 }; pieSeries2.Title = "B"; pieSeries2.DataLabels = true; PieSeries pieSeries3 = new PieSeries(); pieSeries3.Values = new ChartValues <int> { 6 }; pieSeries3.Title = "C"; pieSeries3.DataLabels = true; pieChart.Series.Add(pieSeries); pieChart.Series.Add(pieSeries2); pieChart.Series.Add(pieSeries3); pieChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(pieChart, 0); Canvas.SetLeft(pieChart, p.X - pieChart.DesiredSize.Width / 2); Canvas.SetTop(pieChart, p.Y - pieChart.DesiredSize.Height / 2); AddEvents(pieChart); DesignCanvas.Children.Add(pieChart); } break; case 32: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; ColumnSeries columnSeries = new ColumnSeries(); columnSeries.Values = new ChartValues <int> { 5 }; columnSeries.Title = "A"; columnSeries.DataLabels = true; ColumnSeries columnSeries2 = new ColumnSeries(); columnSeries2.Values = new ChartValues <int> { 3 }; columnSeries2.Title = "B"; columnSeries2.DataLabels = true; ColumnSeries columnSeries3 = new ColumnSeries(); columnSeries3.Values = new ChartValues <int> { 6 }; columnSeries3.Title = "C"; columnSeries3.DataLabels = true; cartesianChart.Series.Add(columnSeries); cartesianChart.Series.Add(columnSeries2); cartesianChart.Series.Add(columnSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; case 33: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; StackedColumnSeries columnSeries = new StackedColumnSeries(); columnSeries.Values = new ChartValues <int> { 5, 6, 5 }; columnSeries.Title = "A"; columnSeries.DataLabels = true; StackedColumnSeries columnSeries2 = new StackedColumnSeries(); columnSeries2.Values = new ChartValues <int> { 3, 4, 2 }; columnSeries2.Title = "B"; columnSeries2.DataLabels = true; StackedColumnSeries columnSeries3 = new StackedColumnSeries(); columnSeries3.Values = new ChartValues <int> { 6, 3, 3 }; columnSeries3.Title = "C"; columnSeries3.DataLabels = true; cartesianChart.Series.Add(columnSeries); cartesianChart.Series.Add(columnSeries2); cartesianChart.Series.Add(columnSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; case 34: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; RowSeries CarSeries = new RowSeries(); CarSeries.Values = new ChartValues <int> { 5 }; CarSeries.Title = "A"; CarSeries.DataLabels = true; RowSeries CarSeries2 = new RowSeries(); CarSeries2.Values = new ChartValues <int> { 3 }; CarSeries2.Title = "B"; CarSeries2.DataLabels = true; RowSeries CarSeries3 = new RowSeries(); CarSeries3.Values = new ChartValues <int> { 6 }; CarSeries3.Title = "C"; CarSeries3.DataLabels = true; cartesianChart.Series.Add(CarSeries); cartesianChart.Series.Add(CarSeries2); cartesianChart.Series.Add(CarSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; case 35: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; StackedRowSeries columnSeries = new StackedRowSeries(); columnSeries.Values = new ChartValues <int> { 5, 6, 5 }; columnSeries.Title = "A"; columnSeries.DataLabels = true; StackedRowSeries columnSeries2 = new StackedRowSeries(); columnSeries2.Values = new ChartValues <int> { 3, 4, 2 }; columnSeries2.Title = "B"; columnSeries2.DataLabels = true; StackedRowSeries columnSeries3 = new StackedRowSeries(); columnSeries3.Values = new ChartValues <int> { 6, 3, 3 }; columnSeries3.Title = "C"; columnSeries3.DataLabels = true; cartesianChart.Series.Add(columnSeries); cartesianChart.Series.Add(columnSeries2); cartesianChart.Series.Add(columnSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; case 36: { CartesianChart lineChart = new CartesianChart(); lineChart.Width = 400; lineChart.Height = 300; lineChart.LegendLocation = LegendLocation.Bottom; LineSeries lineSeries = new LineSeries(); lineSeries.Values = new ChartValues <int> { 5, 6, 8 }; lineSeries.Title = "A"; lineSeries.DataLabels = true; LineSeries lineSeries2 = new LineSeries(); lineSeries2.Values = new ChartValues <int> { 3, 2, 5 }; lineSeries2.Title = "B"; lineSeries2.DataLabels = true; LineSeries lineSeries3 = new LineSeries(); lineSeries3.Values = new ChartValues <int> { 6, 5, 3 }; lineSeries3.Title = "C"; lineSeries3.DataLabels = true; lineChart.Series.Add(lineSeries); lineChart.Series.Add(lineSeries2); lineChart.Series.Add(lineSeries3); lineChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(lineChart, 0); Canvas.SetLeft(lineChart, p.X - lineChart.DesiredSize.Width / 2); Canvas.SetTop(lineChart, p.Y - lineChart.DesiredSize.Height / 2); AddEvents(lineChart); DesignCanvas.Children.Add(lineChart); } break; case 37: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; StackedAreaSeries columnSeries = new StackedAreaSeries(); columnSeries.Values = new ChartValues <int> { 2, 4, 6 }; columnSeries.Title = "A"; columnSeries.DataLabels = true; StackedAreaSeries columnSeries2 = new StackedAreaSeries(); columnSeries2.Values = new ChartValues <int> { 3, 5, 7 }; columnSeries2.Title = "B"; columnSeries2.DataLabels = true; StackedAreaSeries columnSeries3 = new StackedAreaSeries(); columnSeries3.Values = new ChartValues <int> { 4, 6, 8 }; columnSeries3.Title = "C"; columnSeries3.DataLabels = true; cartesianChart.Series.Add(columnSeries); cartesianChart.Series.Add(columnSeries2); cartesianChart.Series.Add(columnSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; case 38: { CartesianChart cartesianChart = new CartesianChart(); cartesianChart.Width = 400; cartesianChart.Height = 300; cartesianChart.LegendLocation = LegendLocation.Bottom; StepLineSeries columnSeries = new StepLineSeries(); columnSeries.Values = new ChartValues <int> { 1, 2, 1 }; columnSeries.Title = "A"; columnSeries.DataLabels = true; StepLineSeries columnSeries2 = new StepLineSeries(); columnSeries2.Values = new ChartValues <int> { 3, 5, 6 }; columnSeries2.Title = "B"; columnSeries2.DataLabels = true; StepLineSeries columnSeries3 = new StepLineSeries(); columnSeries3.Values = new ChartValues <int> { 6, 7, 7 }; columnSeries3.Title = "C"; columnSeries3.DataLabels = true; cartesianChart.Series.Add(columnSeries); cartesianChart.Series.Add(columnSeries2); cartesianChart.Series.Add(columnSeries3); cartesianChart.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Panel.SetZIndex(cartesianChart, 0); Canvas.SetLeft(cartesianChart, p.X - cartesianChart.DesiredSize.Width / 2); Canvas.SetTop(cartesianChart, p.Y - cartesianChart.DesiredSize.Height / 2); AddEvents(cartesianChart); DesignCanvas.Children.Add(cartesianChart); } break; } }