private RadCartesianChartView createChart(){
			//Create the Chart View
			RadCartesianChartView chart = new RadCartesianChartView(this.Activity);

			//Create the bar series and attach axes and value bindings.
			BarSeries barSeries = new BarSeries();

			barSeries.ValueBinding  = new ValueBinding();
			barSeries.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();
			horizontalAxis.LabelFitMode = AxisLabelFitMode.MultiLine;

			barSeries.VerticalAxis = verticalAxis;
			barSeries.HorizontalAxis = horizontalAxis;

			//Bind series to data
			barSeries.Data = this.getData();

			//Add series to chart
			chart.Series.Add(barSeries);

			ChartSelectionBehavior sb = new ChartSelectionBehavior();
			sb.DataPointsSelectionMode = ChartSelectionMode.Single;

			chart.Behaviors.Add(sb);

			return chart;
		}
Example #2
0
        private static void RemoveAssociation(INotifyCollectionChanged collection, ChartSelectionBehavior behavior)
        {
            List <ChartSelectionBehavior> behaviors = GetOrCreateSelectionBehaviors(collection);

            behaviors.Remove(behavior);

            if (behaviors.Count == 0)
            {
                CleanUp();
            }
        }
Example #3
0
 private static void SetItemsSelection(ChartSelectionBehavior behavior, IList items, bool shouldSelect)
 {
     foreach (var item in items)
     {
         var dataPoints = GetDataPointsForItem(item, behavior);
         foreach (var dataPoint in dataPoints)
         {
             dataPoint.IsSelected = shouldSelect;
         }
     }
 }
Example #4
0
        private static void SyncSelection(ChartSelectionBehavior behavior, IList oldItems, IList newItems)
        {
            if (oldItems != null)
            {
                SetItemsSelection(behavior, oldItems, false);
            }

            if (newItems != null)
            {
                SetItemsSelection(behavior, newItems, true);
            }
        }
Example #5
0
        private static IEnumerable <DataPoint> GetDataPointsForItem(object item, ChartSelectionBehavior behavior)
        {
            IEnumerable seriesCollection = GetSeries(behavior.Chart);

            foreach (ChartSeries series in seriesCollection)
            {
                var dataPoints = GetDataPoints(series);
                foreach (DataPoint dataPoint in dataPoints)
                {
                    if (dataPoint.DataItem == item)
                    {
                        yield return(dataPoint);
                    }
                }
            }
        }
        private RadCartesianChartView createChart()
        {
            //Create the Chart View
            RadCartesianChartView chart = new RadCartesianChartView(this.Activity);

            //Create the bar series and attach axes and value bindings.
            BarSeries barSeries = new BarSeries();

            barSeries.ValueBinding    = new ValueBinding();
            barSeries.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();

            horizontalAxis.LabelFitMode = AxisLabelFitMode.MultiLine;

            barSeries.VerticalAxis   = verticalAxis;
            barSeries.HorizontalAxis = horizontalAxis;

            //Bind series to data
            barSeries.Data = this.getData();

            //Add series to chart
            chart.Series.Add(barSeries);

            ChartSelectionBehavior sb = new ChartSelectionBehavior();

            sb.DataPointsSelectionMode = ChartSelectionMode.Single;

            chart.Behaviors.Add(sb);

            return(chart);
        }
Example #7
0
        private static void AddAssociation(INotifyCollectionChanged collection, ChartSelectionBehavior behavior)
        {
            List <ChartSelectionBehavior> behaviors = GetOrCreateSelectionBehaviors(collection);

            behaviors.Add(behavior);
        }
        public SelectionSeriesPage()
        {
            InitializeComponent();

            var model = new MainViewModel();

            model.Data1 = MainViewModel.GetCategoricalData();
            model.Data2 = MainViewModel.GetCategoricalData();

            var grid = new CartesianChartGrid();

            var chart = new Telerik.XamarinForms.Chart.RadCartesianChart
            {
                VerticalAxis   = new Telerik.XamarinForms.Chart.NumericalAxis(),
                HorizontalAxis = new Telerik.XamarinForms.Chart.CategoricalAxis()
                {
                    LabelFitMode = Telerik.XamarinForms.Chart.AxisLabelFitMode.MultiLine
                },
                Grid          = grid,
                HeightRequest = 400
            };

            grid.MajorLinesVisibility = GridLineVisibility.Y;
            grid.MajorYLineDashArray  = Device.OnPlatform(null, new double[] { 4, 2 }, new double[] { 4, 2 });
            grid.StripLinesVisibility = GridLineVisibility.Y;

            grid.YStripeColor = Color.Transparent;

            grid.YStripeAlternativeColor = Color.FromHex("1FA9A9A9");
            grid.MajorLineColor          = Color.FromHex("D3D3D3");
            grid.MajorLineThickness      = Device.OnPlatform(0.5, 2, 2);


            var series = new Telerik.XamarinForms.Chart.BarSeries();

            series.StackGroupKey = 1;
            series.CombineMode   = Telerik.XamarinForms.Chart.ChartSeriesCombineMode.Stack;
            series.ItemsSource   = model.Data1;

            series.ValueBinding = new Telerik.XamarinForms.Chart.PropertyNameDataPointBinding
            {
                PropertyName = "Value"
            };

            series.CategoryBinding = new Telerik.XamarinForms.Chart.PropertyNameDataPointBinding
            {
                PropertyName = "Category"
            };
            series.AllowSelect = true;

            chart.Series.Add(series);

            var series2 = new Telerik.XamarinForms.Chart.BarSeries();

            series2.StackGroupKey = 1;
            series2.CombineMode   = Telerik.XamarinForms.Chart.ChartSeriesCombineMode.Stack;
            series2.ItemsSource   = model.Data2;

            series2.ValueBinding = new Telerik.XamarinForms.Chart.PropertyNameDataPointBinding
            {
                PropertyName = "Value"
            };

            series2.CategoryBinding = new Telerik.XamarinForms.Chart.PropertyNameDataPointBinding
            {
                PropertyName = "Category"
            };
            series2.AllowSelect = true;

            chart.PaletteName          = PaletteNames.Light;
            chart.SelectionPaletteName = PaletteNames.LightSelected;

            chart.Series.Add(series2);
            beh = new Telerik.XamarinForms.Chart.ChartSelectionBehavior
            {
                DataPointSelectionMode = Telerik.XamarinForms.Chart.ChartSelectionMode.Single,
                SeriesSelectionMode    = ChartSelectionMode.None
            };
            chart.Behaviors.Add(beh);

            this.Content = chart;
        }
Example #9
0
        private static void RemoveAssociation(INotifyCollectionChanged collection, ChartSelectionBehavior behavior)
        {
            List<ChartSelectionBehavior> behaviors = GetOrCreateSelectionBehaviors(collection);
            behaviors.Remove(behavior);

            if (behaviors.Count == 0)
            {
                CleanUp();
            }
        }
Example #10
0
 private static void AddAssociation(INotifyCollectionChanged collection, ChartSelectionBehavior behavior)
 {
     List<ChartSelectionBehavior> behaviors = GetOrCreateSelectionBehaviors(collection);
     behaviors.Add(behavior);
 }
Example #11
0
 private static IEnumerable<DataPoint> GetDataPointsForItem(object item, ChartSelectionBehavior behavior)
 {
     IEnumerable seriesCollection = GetSeries(behavior.Chart);
     foreach (ChartSeries series in seriesCollection)
     {
         var dataPoints = GetDataPoints(series);
         foreach (DataPoint dataPoint in dataPoints)
         {
             if (dataPoint.DataItem == item)
             {
                 yield return dataPoint;
             }
         }
     }
 }
Example #12
0
 private static void SetItemsSelection(ChartSelectionBehavior behavior, IList items, bool shouldSelect)
 {
     foreach (var item in items)
     {
         var dataPoints = GetDataPointsForItem(item, behavior);
         foreach (var dataPoint in dataPoints)
         {
             dataPoint.IsSelected = shouldSelect;
         }
     }
 }
Example #13
0
        private static void SyncSelection(ChartSelectionBehavior behavior, IList oldItems, IList newItems)
        {
            if (oldItems != null)
            {
                SetItemsSelection(behavior, oldItems, false);
            }

            if (newItems != null)
            {
                SetItemsSelection(behavior, newItems, true);
            }
        }