private RadCartesianChartView createChart() { //Create the Chart View RadCartesianChartView chart = new RadCartesianChartView(this.Activity); //Create the spline series and attach axes and value bindings. SplineAreaSeries splineAreaSeries = new SplineAreaSeries(); splineAreaSeries.ValueBinding = new ValueBinding(); splineAreaSeries.CategoryBinding = new CategoryBinding(); LinearAxis verticalAxis = new LinearAxis(); //The values in the linear axis will not have values after the decimal point. verticalAxis.LabelFormat = "%.0f"; CategoricalAxis horizontalAxis = new CategoricalAxis(); splineAreaSeries.VerticalAxis = verticalAxis; splineAreaSeries.HorizontalAxis = horizontalAxis; //Bind series to data splineAreaSeries.Data = this.getData(); //Add series to chart chart.Series.Add(splineAreaSeries); return(chart); }
private RadCartesianChartView createChart() { //Create the Chart View RadCartesianChartView chart = new RadCartesianChartView(this.Activity); LinearAxis verticalAxis = new LinearAxis(); //The values in the linear axis will not have values after the decimal point. verticalAxis.LabelFormat = "%.0f"; CategoricalAxis horizontalAxis = new CategoricalAxis(); chart.VerticalAxis = verticalAxis; chart.HorizontalAxis = horizontalAxis; for (int i = 0; i < 3; i++) { //Create the spline area series and attach axes and value bindings. SplineAreaSeries areaSeries = new SplineAreaSeries(); //We want to stack the different area series. areaSeries.CombineMode = ChartSeriesCombineMode.Stack; areaSeries.ValueBinding = new ValueBinding(); areaSeries.CategoryBinding = new CategoryBinding(); //Bind series to data areaSeries.Data = this.getData(); //Add series to chart chart.Series.Add(areaSeries); } return chart; }
private RadCartesianChartView createChart() { //Create the Chart View RadCartesianChartView chart = new RadCartesianChartView(this.Activity); LinearAxis verticalAxis = new LinearAxis(); //The values in the linear axis will not have values after the decimal point. verticalAxis.LabelFormat = "%.0f"; CategoricalAxis horizontalAxis = new CategoricalAxis(); chart.VerticalAxis = verticalAxis; chart.HorizontalAxis = horizontalAxis; for (int i = 0; i < 3; i++) { //Create the spline area series and attach axes and value bindings. SplineAreaSeries areaSeries = new SplineAreaSeries(); //We want to stack the different area series. areaSeries.CombineMode = ChartSeriesCombineMode.Stack; areaSeries.ValueBinding = new ValueBinding(); areaSeries.CategoryBinding = new CategoryBinding(); //Bind series to data areaSeries.Data = this.getData(); //Add series to chart chart.Series.Add(areaSeries); } return(chart); }
public CustomChartViewRenderer() { DataChart = new XamDataChart(); DataChart.Margin = new System.Windows.Thickness(5); //XAxis DateXAxis = new CategoryXAxis(); DateXAxis.Label = "{}{Date:MM/yyyy}"; DateXAxis.LabelSettings = new AxisLabelSettings(); DateXAxis.LabelSettings.Visibility = System.Windows.Visibility.Collapsed; DateXAxis.LabelSettings.Foreground = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["PhoneForegroundBrush"]; DateXAxis.LabelSettings.Location = AxisLabelsLocation.OutsideBottom; // YAxis PriceYAxis = new NumericYAxis(); PriceYAxis.LabelSettings = new AxisLabelSettings(); PriceYAxis.LabelSettings.Extent = 40; PriceYAxis.LabelSettings.Location = AxisLabelsLocation.OutsideLeft; PriceYAxis.LabelSettings.Foreground = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["PhoneForegroundBrush"]; VolumeYAxis = new NumericYAxis(); VolumeYAxis.MajorStroke = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["TransparentBrush"]; VolumeYAxis.LabelSettings = new AxisLabelSettings(); VolumeYAxis.LabelSettings.Extent = 40; VolumeYAxis.LabelSettings.Location = AxisLabelsLocation.OutsideRight; VolumeYAxis.LabelSettings.Foreground = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["PhoneForegroundBrush"]; VolumeYAxis.LabelSettings.Visibility = System.Windows.Visibility.Visible; series = new FinancialPriceSeries(); series.Thickness = 0.5; series.OpenMemberPath = "Open"; series.CloseMemberPath = "Close"; series.HighMemberPath = "High"; series.LowMemberPath = "Low"; series.VolumeMemberPath = "Volume"; series.Brush = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["MetroThemeAccentColor"]; series.NegativeBrush = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["DataChartLightBrush12"]; series.Outline = (System.Windows.Media.Brush)System.Windows.Application.Current.Resources["LightForegroundBrush"]; splineSeries = new SplineAreaSeries(); splineSeries.ValueMemberPath = "Volume"; series.SetValue(Canvas.ZIndexProperty, 1); }
public override View GetSampleContent(Context context) { var chart = new SfChart(context); ; chart.SetBackgroundColor(Color.White); chart.PrimaryAxis = new CategoryAxis() { EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift}; chart.SecondaryAxis = new NumericalAxis(); var areaSeries = new SplineAreaSeries { StrokeWidth = 5, Color = MainPage.ConvertHexaToColor(0x90FEBE17), Alpha = 0.5f, StrokeColor = MainPage.ConvertHexaToColor(0xFFFEBE17), DataSource = MainPage.GetData2(), }; chart.Series.Add(areaSeries); return chart; }
public override View GetSampleContent(Context context) { var chart = new SfChart(context);; chart.SetBackgroundColor(Color.White); chart.PrimaryAxis = new CategoryAxis() { EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift }; chart.SecondaryAxis = new NumericalAxis(); var areaSeries = new SplineAreaSeries { StrokeWidth = 5, Color = MainPage.ConvertHexaToColor(0x90FEBE17), Alpha = 0.5f, StrokeColor = MainPage.ConvertHexaToColor(0xFFFEBE17), DataSource = MainPage.GetData2(), }; chart.Series.Add(areaSeries); return(chart); }
private RadCartesianChartView createChart(){ //Create the Chart View RadCartesianChartView chart = new RadCartesianChartView(this.Activity); //Create the spline series and attach axes and value bindings. SplineAreaSeries splineAreaSeries = new SplineAreaSeries(); splineAreaSeries.ValueBinding = new ValueBinding(); splineAreaSeries.CategoryBinding = new CategoryBinding(); LinearAxis verticalAxis = new LinearAxis(); //The values in the linear axis will not have values after the decimal point. verticalAxis.LabelFormat = "%.0f"; CategoricalAxis horizontalAxis = new CategoricalAxis(); splineAreaSeries.VerticalAxis = verticalAxis; splineAreaSeries.HorizontalAxis = horizontalAxis; //Bind series to data splineAreaSeries.Data = this.getData(); //Add series to chart chart.Series.Add(splineAreaSeries); return chart; }
/// <summary> /// This method create one chart /// </summary> /// <param name="dataList">Specific data list</param> /// <returns>Chart</returns> private RadCartesianChart CreateChart(List <DataPointChart> dataList) { var grid = new CartesianChartGrid(); var chart = new RadCartesianChart { VerticalAxis = new NumericalAxis(), HorizontalAxis = new CategoricalAxis() { LabelFitMode = AxisLabelFitMode.MultiLine, PlotMode = AxisPlotMode.OnTicks }, Grid = grid, }; grid.MajorLinesVisibility = GridLineVisibility.Y; grid.MajorYLineDashArray = Device.OnPlatform(null, new double[] { 4, 2 }, new double[] { 4, 2 }); grid.MajorLineColor = Color.FromHex("00357f"); grid.MajorLineThickness = Device.OnPlatform(0.5, 2, 2); var series = new SplineAreaSeries(); //series.ItemsSource = model.DataSecondList; series.ItemsSource = dataList; //series.CategoryBinding = new PropertyNameDataPointBinding //{ // PropertyName = "Date" //}; series.ValueBinding = new PropertyNameDataPointBinding { PropertyName = "Value" }; chart.Series.Add(series); return(chart); }
public override View GetSampleContent(Context context) { var chart = new SfChart(context); chart.SetBackgroundColor(Color.White); chart.Title.Text = "Inflation Rate in Percentage"; chart.Title.TextSize = 15; chart.SetBackgroundColor(Color.White); chart.Legend.DockPosition = ChartDock.Bottom; chart.Legend.Visibility = Visibility.Visible; chart.Legend.IconHeight = 14; chart.Legend.IconWidth = 14; chart.Legend.ToggleSeriesVisibility = true; chart.ColorModel.ColorPalette = ChartColorPalette.Natural; NumericalAxis primaryAxis = new NumericalAxis(); primaryAxis.ShowMajorGridLines = false; primaryAxis.Interval = 2; primaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; chart.PrimaryAxis = primaryAxis; NumericalAxis numericalaxis = new NumericalAxis(); numericalaxis.Minimum = 0; numericalaxis.Maximum = 4; numericalaxis.Interval = 1; numericalaxis.MajorTickStyle.TickSize = 0; numericalaxis.LineStyle.StrokeWidth = 0; numericalaxis.LabelStyle.LabelFormat = "#'% '"; chart.SecondaryAxis = numericalaxis; var areaSeries1 = new SplineAreaSeries { Label = "US", Alpha = 0.5f, EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData1(), XBindingPath = "XValue", YBindingPath = "YValue", LegendIcon = ChartLegendIcon.SeriesType }; var areaSeries2 = new SplineAreaSeries { Alpha = 0.5f, Label = "France", EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData2(), XBindingPath = "XValue", YBindingPath = "YValue", LegendIcon = ChartLegendIcon.SeriesType }; var areaSeries3 = new SplineAreaSeries { Alpha = 0.5f, Label = "Germany", EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData3(), XBindingPath = "XValue", YBindingPath = "YValue", LegendIcon = ChartLegendIcon.SeriesType }; chart.Series.Add(areaSeries1); chart.Series.Add(areaSeries2); chart.Series.Add(areaSeries3); areaSeries1.TooltipEnabled = true; areaSeries2.TooltipEnabled = true; areaSeries3.TooltipEnabled = true; areaSeries1.EnableAnimation = true; areaSeries2.EnableAnimation = true; areaSeries3.EnableAnimation = true; return(chart); }
private void CreateSeries(string seriesType) { RadCartesianChart chart = this.chart as RadCartesianChart; CategoricalSeries series = null; if (chart == null) { return; } chart.Series.Clear(); switch (seriesType) { case "Bar": series = new BarSeries() { DefaultVisualStyle = chart.Resources["BorderStyle"] as Style }; break; case "Line": series = new LineSeries() { Stroke = brush, StrokeThickness = 3, PointTemplate = chart.Resources["PointTemplate"] as DataTemplate }; break; case "Spline": series = new SplineSeries() { Stroke = brush, StrokeThickness = 3, PointTemplate = chart.Resources["PointTemplate"] as DataTemplate }; break; case "Area": series = new AreaSeries() { Fill = brush, PointTemplate = chart.Resources["PointTemplate"] as DataTemplate }; break; case "SplineArea": series = new SplineAreaSeries() { Fill = brush, PointTemplate = chart.Resources["PointTemplate"] as DataTemplate }; break; } series.CategoryBinding = new PropertyNameDataPointBinding("Season"); series.ValueBinding = new PropertyNameDataPointBinding("Points"); series.SetBinding(CategoricalSeries.ItemsSourceProperty, new Binding() { Path = new PropertyPath("SelectedTeam.Stats") }); series.SetBinding(CategoricalSeries.ShowLabelsProperty, new Binding() { Path = new PropertyPath("ShowLabels") }); series.ClipToPlotArea = false; chart.Series.Add(series); }
/// <summary> /// Initializes a new instance of the SplineAreaSeriesAutomationPeer class. /// </summary> public SplineAreaSeriesAutomationPeer(SplineAreaSeries owner) : base(owner) { }
public override View GetSampleContent(Context context) { var chart = new SfChart(context); chart.SetBackgroundColor(Color.White); chart.Title.Text = "Inflation Rate"; chart.Title.TextSize = 15; chart.SetBackgroundColor(Color.White); chart.Legend.DockPosition = ChartDock.Bottom; chart.Legend.Visibility = Visibility.Visible; chart.Legend.IconHeight = 14; chart.Legend.IconWidth = 14; chart.Legend.ToggleSeriesVisibility = true; chart.ColorModel.ColorPalette = ChartColorPalette.Natural; CategoryAxis categoryaxis = new CategoryAxis(); categoryaxis.Title.Text = "Year"; categoryaxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; chart.PrimaryAxis = categoryaxis; NumericalAxis numericalaxis = new NumericalAxis(); numericalaxis.Minimum = 0; numericalaxis.Maximum = 4.5; numericalaxis.Interval = 0.5; numericalaxis.Title.Text = "Rate (%)"; chart.SecondaryAxis = numericalaxis; var areaSeries1 = new SplineAreaSeries { Label = "US", Alpha = 0.5f, EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData1(), XBindingPath = "XValue", YBindingPath = "YValue" }; var areaSeries2 = new SplineAreaSeries { Alpha = 0.5f, Label = "France", EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData2(), XBindingPath = "XValue", YBindingPath = "YValue" }; var areaSeries3 = new SplineAreaSeries { Alpha = 0.5f, Label = "Germany", EnableAnimation = true, ItemsSource = MainPage.GetSplineAreaData3(), XBindingPath = "XValue", YBindingPath = "YValue" }; chart.Series.Add(areaSeries1); chart.Series.Add(areaSeries2); chart.Series.Add(areaSeries3); areaSeries1.TooltipEnabled = true; areaSeries2.TooltipEnabled = true; areaSeries3.TooltipEnabled = true; areaSeries1.EnableAnimation = true; areaSeries2.EnableAnimation = true; areaSeries3.EnableAnimation = true; return(chart); }
private async Task UpdateCard(int i) { string c = App.pinnedCoins[i]; // DATA: await App.GetHisto(c, timeSpan, limit); float oldestPrice; float newestPrice; if (App.historic != null) { oldestPrice = App.historic[0].Close; newestPrice = App.historic[App.historic.Count - 1].Close; } else { oldestPrice = 0; newestPrice = 0; } float d = (float)Math.Round(((newestPrice / oldestPrice) - 1) * 100, 2); if (d < 0) { d = Math.Abs(d); diff = "▼" + d.ToString() + "%"; } else { diff = "▲" + d.ToString() + "%"; } homeCoinList[i]._priceCurr = App.GetCurrentPrice(c, "defaultMarket").ToString() + App.coinSymbol; homeCoinList[i]._priceDiff = diff; await App.GetCoinStats(c, "defaultMarket"); homeCoinList[i]._volume24 = App.stats.Volume24; homeCoinList[i]._volume24to = App.stats.Volume24To; // ######################################################################################### // LOADING BAR ListViewItem container = (ListViewItem)PriceListView.ContainerFromIndex(i); var loading = (container.ContentTemplateRoot as FrameworkElement)?.FindName("LoadingControl") as Loading; loading.IsLoading = true; // ######################################################################################### // COLOR SolidColorBrush coinColorT, coinColor; try { coinColorT = (SolidColorBrush)Application.Current.Resources[c.ToUpper() + "_colorT"]; coinColor = (SolidColorBrush)Application.Current.Resources[c.ToUpper() + "_color"]; } catch (Exception) { coinColorT = (SolidColorBrush)Application.Current.Resources["Main_WhiteBlackT"]; coinColor = (SolidColorBrush)Application.Current.Resources["Main_WhiteBlack"]; } // ######################################################################################### // PRICE CHART var PriceChart = (container.ContentTemplateRoot as FrameworkElement)?.FindName("PriceChart") as RadCartesianChart; var verticalAxis = (container.ContentTemplateRoot as FrameworkElement)?.FindName("VerticalAxis") as LinearAxis; await App.GetHisto(c, timeSpan, limit); List <ChartData> priceData = new List <ChartData>(); verticalAxis.Minimum = GraphHelper.GetMinimum(App.historic); verticalAxis.Maximum = GraphHelper.GetMaximum(App.historic); for (int k = 0; k < App.historic.Count; ++k) { priceData.Add(new ChartData() { Date = App.historic[k].DateTime, Value = (App.historic[k].Low + App.historic[k].High) / 2, Low = App.historic[k].Low, High = App.historic[k].High, Open = App.historic[k].Open, Close = App.historic[k].Close, Volume = App.historic[k].Volumefrom }); } SplineAreaSeries series = (SplineAreaSeries)PriceChart.Series[0]; series.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Date" }; series.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series.ItemsSource = priceData; series.Fill = coinColorT; series.Stroke = coinColor; var v = series.VerticalAxis; // ######################################################################################### // VOLUME CHART ListViewItem container2 = (ListViewItem)VolumeListView.ContainerFromIndex(i); await App.GetHisto(c, "hour", 24); List <ChartData> volumeData = new List <ChartData>(); for (int j = 0; j < 24; j++) { volumeData.Add(new ChartData() { Date = App.historic[j].DateTime, Volume = App.historic[j].Volumefrom, cc = coinColorT }); } RadCartesianChart volumeChart = (container2.ContentTemplateRoot as FrameworkElement)?.FindName("volumeChart") as RadCartesianChart; BarSeries barSeries = (BarSeries)volumeChart.Series[0]; barSeries.ItemsSource = volumeData; var z = barSeries.DefaultVisualStyle; loading.IsLoading = false; }
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); } }
// ######################################################################################### async private Task UpdateCoin() { mainTitleVal.Text = App.GetCurrentPrice(crypto, "defaultMarket").ToString() + App.coinSymbol; mainTitleVal.Visibility = Visibility.Visible; mainTitleDiff.Visibility = Visibility.Visible; switch (timeSpan) { case "hour": case "day": await App.GetHisto(crypto, "minute", limit); break; case "week": case "month": await App.GetHisto(crypto, "hour", limit); break; case "year": await App.GetHisto(crypto, "day", limit); break; case "all": await App.GetHisto(crypto, "day", 0); break; } List <ChartData> data = new List <ChartData>(); for (int i = 0; i < App.historic.Count; ++i) { ChartData obj = new ChartData { Date = App.historic[i].DateTime, Value = (App.historic[i].Low + App.historic[i].High) / 2, Low = App.historic[i].Low, High = App.historic[i].High, Open = App.historic[i].Open, Close = App.historic[i].Close, Volume = App.historic[i].Volumefrom }; data.Add(obj); } float oldestPrice = App.historic[0].Close; float newestPrice = App.historic[App.historic.Count - 1].Close; float d = (float)Math.Round((newestPrice / oldestPrice - 1) * 100, 2); if (d < 0) { mainTitleDiff.Foreground = (SolidColorBrush)Application.Current.Resources["pastelRed"]; d = Math.Abs(d); mainTitleDiff.Text = "▼" + d.ToString() + "%"; } else { mainTitleDiff.Foreground = (SolidColorBrush)Application.Current.Resources["pastelGreen"]; mainTitleDiff.Text = "▲" + d.ToString() + "%"; } SplineAreaSeries series = (SplineAreaSeries)PriceChart.Series[0]; series.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Date" }; series.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series.ItemsSource = data; if (LoadingControl != null) { LoadingControl.IsLoading = false; } }
public override View GetSampleContent(Context context) { chart = new SfChart(context); chart.Title.Text = "Oxygen Level"; chart.SetBackgroundColor(Color.White); chart.ColorModel.ColorPalette = ChartColorPalette.Custom; ChartGradientColor gradientColor = new ChartGradientColor() { StartPoint = new PointF(0.5f, 1), EndPoint = new PointF(0.5f, 0) }; ChartGradientStop stopColor1 = new ChartGradientStop() { Color = Color.White, Offset = 0 }; ChartGradientStop stopColor2 = new ChartGradientStop() { Color = Color.ParseColor("#FF0080DF"), Offset = 1 }; gradientColor.GradientStops.Add(stopColor1); gradientColor.GradientStops.Add(stopColor2); ChartGradientColorCollection gradientColorsCollection = new ChartGradientColorCollection() { gradientColor }; chart.ColorModel.CustomGradientColors = gradientColorsCollection; DateTimeAxis primaryAxis = new DateTimeAxis(); primaryAxis.PlotOffset = 6; primaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; primaryAxis.ShowMinorGridLines = false; primaryAxis.ShowMajorGridLines = false; primaryAxis.LabelStyle.LabelFormat = "MMM dd"; chart.PrimaryAxis = primaryAxis; NumericalAxis numericalAxis = new NumericalAxis(); numericalAxis.Maximum = 50; numericalAxis.Interval = 5; numericalAxis.LabelStyle.LabelFormat = "#'%'"; chart.SecondaryAxis = numericalAxis; SplineAreaSeries splineAreaSeries = new SplineAreaSeries(); splineAreaSeries.ItemsSource = MainPage.GetGradientData(); splineAreaSeries.XBindingPath = "Date"; splineAreaSeries.YBindingPath = "High"; splineAreaSeries.StrokeColor = Color.ParseColor("#FF0080DF"); splineAreaSeries.StrokeWidth = 2; splineAreaSeries.DataMarker.ShowLabel = true; splineAreaSeries.DataMarker.MarkerWidth = 8; splineAreaSeries.DataMarker.MarkerHeight = 8; splineAreaSeries.DataMarker.MarkerColor = Color.White; splineAreaSeries.DataMarker.MarkerStrokeColor = Color.ParseColor("#FF0080DF"); splineAreaSeries.DataMarker.MarkerStrokeWidth = 2; splineAreaSeries.DataMarker.ShowMarker = true; splineAreaSeries.DataMarker.LabelStyle.OffsetY = -10; splineAreaSeries.DataMarker.LabelStyle.BackgroundColor = Color.ParseColor("#FF0080DF"); splineAreaSeries.DataMarker.LabelStyle.LabelFormat = "#.#'%'"; chart.Series.Add(splineAreaSeries); 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); } }
//////////////////////////////////////////////////////////////////////////////////////////////////// async private Task UpdateCoin() { await App.GetCurrentPrice(crypto); switch (crypto) { case "BTC": curr.Text = App.BTC_now.ToString() + App.coinSymbol; break; case "ETH": curr.Text = App.ETH_now.ToString() + App.coinSymbol; break; case "LTC": curr.Text = App.LTC_now.ToString() + App.coinSymbol; break; case "XRP": curr.Text = App.XRP_now.ToString() + App.coinSymbol; break; } switch (timeSpan) { case "hour": case "day": await App.GetHisto(crypto, "minute", limit); break; case "week": case "month": await App.GetHisto(crypto, "hour", limit); break; case "year": await App.GetHisto(crypto, "day", limit); break; case "all": await App.GetHisto(crypto, "day", 0); break; } List <App.ChartDataObject> data = new List <App.ChartDataObject>(); for (int i = 0; i < App.historic.Count; ++i) { App.ChartDataObject obj = new App.ChartDataObject { Date = App.historic[i].DateTime, Value = (App.historic[i].Low + App.historic[i].High) / 2, Low = App.historic[i].Low, High = App.historic[i].High, Open = App.historic[i].Open, Close = App.historic[i].Close, Volume = App.historic[i].Volumefrom }; data.Add(obj); } float d = 0; switch (crypto) { case "BTC": d = (float)Math.Round(((App.BTC_now / App.BTC_old) - 1) * 100, 2); if (timeSpan.Equals("hour")) { App.BTC_change1h = d; } break; case "ETH": d = (float)Math.Round(((App.ETH_now / App.ETH_old) - 1) * 100, 2); if (timeSpan.Equals("hour")) { App.ETH_change1h = d; } break; case "LTC": d = (float)Math.Round(((App.LTC_now / App.LTC_old) - 1) * 100, 2); if (timeSpan.Equals("hour")) { App.LTC_change1h = d; } break; case "XRP": d = (float)Math.Round(((App.XRP_now / App.XRP_old) - 1) * 100, 2); if (timeSpan.Equals("hour")) { App.XRP_change1h = d; } break; } if (d < 0) { diff.Foreground = (SolidColorBrush)Application.Current.Resources["pastelRed"]; d = Math.Abs(d); diff.Text = "▼" + d.ToString() + "%"; } else { diff.Foreground = (SolidColorBrush)Application.Current.Resources["pastelGreen"]; diff.Text = "▲" + d.ToString() + "%"; } SplineAreaSeries series = (SplineAreaSeries)priceChart.Series[0]; series.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Date" }; series.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series.ItemsSource = data; if (LoadingControl != null) { LoadingControl.IsLoading = false; } }
public void RenderGraphic(string CompoundString, bool showGroups) { VariantChart.Series.Clear(); Graphics graphics = new Graphics(CompoundString, this); var denseArr = graphics.DenseFunction(); ViewModel denseViewModel = new ViewModel(denseArr.Item1); GraphicTop.Text = CompoundString; NumericalAxis primary = new NumericalAxis() { Header = "Нормализованные величины", Maximum = 1.01 }; NumericalAxis secondary = new NumericalAxis() { Header = "Плотность величины", Maximum = denseArr.Item2 }; VariantChart.PrimaryAxis = primary; VariantChart.SecondaryAxis = secondary; SplineAreaSeries denseFunction = new SplineAreaSeries() { ItemsSource = denseViewModel.Data, XBindingPath = "AddressOfPrimitive", YBindingPath = "CountInPrimitive", SplineType = SplineType.Monotonic, Interior = new SolidColorBrush(System.Windows.Media.Color.FromArgb(128, 0, 0, 0)) }; if (showGroups) { List <Graphics.ItemPrimitive>[] groups = graphics.GroupFunction(); for (int i = 0; i < groups.Length; i++) { SolidColorBrush solidColorBrush; if (i % 2 == 0) { solidColorBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(180, 239, 154, 154)); } else { solidColorBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(180, 63, 81, 181)); } ViewModel groupViewModel = new ViewModel(groups[i]); StepAreaSeries groupsFunction = new StepAreaSeries() { ItemsSource = groupViewModel.Data, XBindingPath = "AddressOfPrimitive", YBindingPath = "CountInPrimitive", Interior = solidColorBrush }; VariantChart.Series.Add(groupsFunction); } ViewModel medianas = new ViewModel(graphics.MedianaFunction()); ColumnSeries medianasFunction = new ColumnSeries() { ItemsSource = medianas.Data, XBindingPath = "AddressOfPrimitive", YBindingPath = "CountInPrimitive", Interior = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 0, 0, 0)), SegmentSpacing = 0.1 }; //VariantChart.Series.Add(medianasFunction); } VariantChart.Series.Add(denseFunction); }