private void Chart_LegendItemCreated(object sender, ChartLegendItemCreatedEventArgs e) { object val = e.LegendItem.DataPoint; string value = ((TasksChartViewModel.TaskChartItem)val).Height.ToString(); e.LegendItem.Label += ": " + value; }
void Chart_LegendItemCreated(object sender, ChartLegendItemCreatedEventArgs e) { ChartDataModel dataModel = e.LegendItem.DataPoint as ChartDataModel; float heightAndWidth = Utility.IsIPad ? 80 : 60; UIView legendView = new UIView(); legendView.Frame = new CGRect(0, 0, 130, heightAndWidth - 10); SFChart legendChart = new SFChart(); legendChart.Frame = new CGRect(0, 0, heightAndWidth, heightAndWidth); UIImageView imageView = new UIImageView(); imageView.Image = UIImage.FromBundle(dataModel.Image); imageView.Frame = new CGRect(legendChart.Frame.X / 2, legendChart.Frame.Y / 2, Utility.IsIPad ? 30 : 20, Utility.IsIPad ? 30 : 20); SFDoughnutSeries series = new SFDoughnutSeries(); series.IsStackedDoughnut = true; series.Color = e.LegendItem.IconColor; series.ItemsSource = new List <ChartDataModel>() { dataModel }; series.XBindingPath = "XValue"; series.YBindingPath = "YValue"; series.StartAngle = -90; series.EndAngle = 270; series.MaximumValue = 100; series.Spacing = 0.2; series.DoughnutCoefficient = 0.8; series.CircularCoefficient = 1.0; series.CapStyle = DoughnutCapStyle.BothCurve; series.CenterView = imageView; legendChart.Series.Add(series); legendView.AddSubview(legendChart); UILabel yLabel = new UILabel(); yLabel.Frame = new CGRect(Utility.IsIPad ? 77 : 57, Utility.IsIPad ? 20 : 10, 80, 18); yLabel.TextColor = e.LegendItem.IconColor; yLabel.Font = UIFont.FromName("Helvetica", 14f); yLabel.Text = dataModel.YValue.ToString() + "%"; UILabel xLabel = new UILabel(); xLabel.Frame = new CGRect(Utility.IsIPad ? 77 : 57, Utility.IsIPad ? 40 : 30, 80, 18); xLabel.TextColor = UIColor.Black; xLabel.Font = UIFont.FromName("Helvetica", 12f); xLabel.Text = dataModel.XValue.ToString(); legendView.AddSubview(yLabel); legendView.AddSubview(xLabel); e.LegendItem.View = legendView; }
private void Chart_LegendItemCreated(object sender, ChartLegendItemCreatedEventArgs e) { Model model = e.LegendItem.DataPoint as Model; e.LegendItem.Label = model.XValue + ": " + model.YValue.ToString(); e.LegendItem.LabelStyle = new ChartLegendLabelStyle() { TextColor = model.YValue > 50 ? Color.Green : Color.Red, FontFamily = model.YValue > 50 ? "Times New Roman" : "Arial" }; }
void Chart_LegendItemCreated(object sender, ChartLegendItemCreatedEventArgs e) { MultipleCircleModel datamodel = e.LegendItem.DataPoint as MultipleCircleModel; LinearLayout outerLayout = new LinearLayout(chart.Context); outerLayout.Orientation = Orientation.Horizontal; outerLayout.SetBackgroundColor(Color.Transparent); LinearLayout innerLayout = new LinearLayout(chart.Context); innerLayout.Orientation = Orientation.Vertical; innerLayout.SetPadding(3, 30, 3, 0); innerLayout.SetBackgroundColor(Color.Transparent); TextView loanName = new TextView(chart.Context); TextView loanPercent = new TextView(chart.Context); ImageView centerView = new ImageView(chart.Context); centerView.LayoutParameters = new ViewGroup.LayoutParams(new LinearLayout.LayoutParams((int)(40 * density), (int)(40 * density))); centerView.SetImageResource(datamodel.ImageResId); loanPercent.Text = (e.LegendItem.DataPoint as MultipleCircleModel).YValue + "%"; loanPercent.TextAlignment = Android.Views.TextAlignment.Center; loanPercent.Gravity = GravityFlags.Center; loanPercent.SetTextColor(e.LegendItem.IconColor); loanPercent.TextSize = 15; loanName.Text = (e.LegendItem.DataPoint as MultipleCircleModel).XValue; loanName.TextAlignment = Android.Views.TextAlignment.Center; loanName.Gravity = GravityFlags.Center; loanName.SetTextColor(Color.Black); innerLayout.AddView(loanPercent); innerLayout.AddView(loanName); SfChart sfChart = new SfChart(chart.Context); sfChart.LayoutParameters = new ViewGroup.LayoutParams(new LinearLayout.LayoutParams((int)(65 * density), (int)(65 * density))); sfChart.SetBackgroundColor(Color.White); DoughnutSeries series = new DoughnutSeries(); series.Color = e.LegendItem.IconColor; series.ItemsSource = new ObservableCollection <MultipleCircleModel>() { datamodel }; series.XBindingPath = "XValue"; series.YBindingPath = "YValue"; series.StartAngle = -90; series.EndAngle = 270; series.MaximumValue = 100; series.Spacing = 0.4; series.DoughnutCoefficient = 0.6; series.CircularCoefficient = 0.9; series.CapStyle = DoughnutCapStyle.BothCurve; series.IsStackedDoughnut = true; series.CenterView = centerView; sfChart.Series.Add(series); outerLayout.AddView(sfChart); outerLayout.AddView(innerLayout); e.LegendItem.View = outerLayout; }