如何在 xamarin.android 中使用 oxyplot 创建甜甜圈图?

Nis*_*mad 3 charts highcharts xamarin.android oxyplot

我需要创建显示像 Highcharts 这样的图表的应用程序。但我没有得到任何图书馆。所以我使用 oxyplot 创建图表。我已经使用这样的 oxyplot 创建了饼图。

var plotView = new PlotView (this);
        plotView.Model = PieViewModel();

        this.AddContentView (plotView,
            new ViewGroup.LayoutParams (ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));



        public PlotModel PieViewModel()
    {
        var modelP1 = new PlotModel { Title = "Pie Sample1" };
        dynamic seriesP1 = new PieSeries { StrokeThickness = 2.0, InsideLabelPosition = 0.8, AngleSpan = 360, StartAngle = 0 };
        seriesP1.Slices.Add(new PieSlice("Africa", 1030) { IsExploded = false, Fill = OxyColors.PaleVioletRed });
        seriesP1.Slices.Add(new PieSlice("Americas", 929) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Asia", 4157) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Europe", 739) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Oceania", 35) { IsExploded = true });
        modelP1.Series.Add(seriesP1);

        return modelP1;
    }
Run Code Online (Sandbox Code Playgroud)

但是现在我需要创建带有点击侦听器和点击效果的圆环图。我怎样才能做到这一点?

提前致谢

Pra*_*ati 6

@Nisar Ahmad 使用 oxyplot 库为圆环图找到以下代码。

    public static PlotModel Simplemodel()
    {
        var modelP1 = new PlotModel { Title = "Pie Sample1" };

        dynamic seriesP1 = new PieSeries { StrokeThickness = 2.0, InsideLabelPosition = 0.5, AngleSpan = 360, StartAngle = 0, InnerDiameter = 0.4 };

        seriesP1.Slices.Add(new PieSlice("Africa", 1030) { IsExploded = false, Fill = OxyColors.PaleVioletRed });
        seriesP1.Slices.Add(new PieSlice("Americas", 929) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Asia", 4157) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Europe", 739) { IsExploded = true });
        seriesP1.Slices.Add(new PieSlice("Oceania", 35) { IsExploded = true });

        modelP1.Series.Add(seriesP1);

        return modelP1;

    }
Run Code Online (Sandbox Code Playgroud)