Exemplo n.º 1
0
        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;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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;
		}
Exemplo n.º 8
0
        /// <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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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)
 {
 }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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;
        }
Exemplo n.º 14
0
        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);
            }
        }
Exemplo n.º 15
0
        // #########################################################################################
        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;
            }
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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);
            }
        }
Exemplo n.º 18
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        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;
            }
        }
Exemplo n.º 19
0
        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);
        }