C# 如何使用OxyPlot在Xamarin.Forms便携应用程序中创建图表?

C# 如何使用OxyPlot在Xamarin.Forms便携应用程序中创建图表?,c#,xamarin,xamarin.forms,pie-chart,oxyplot,C#,Xamarin,Xamarin.forms,Pie Chart,Oxyplot,大家好。我正在创建一个Xamarin.Forms便携应用程序,我想在那里显示一个使用OxyPlot的图表 但是我在互联网上找到的代码似乎并不好用。我只是想问一下,我将如何创建一个图表,特别是OxyPlot中的饼图。从我的XAML到XAML.cs以及其他文件,如model和viewmodel 你能不能给我一些说明或者代码,也许我该怎么做 我想在我的销售页面中对图表进行编码 SalesPage.xaml SalesPage.xaml.cs using System; using System.C

大家好。我正在创建一个Xamarin.Forms便携应用程序,我想在那里显示一个使用OxyPlot的图表

但是我在互联网上找到的代码似乎并不好用。我只是想问一下,我将如何创建一个图表,特别是OxyPlot中的饼图。从我的XAML到XAML.cs以及其他文件,如model和viewmodel

你能不能给我一些说明或者代码,也许我该怎么做

我想在我的销售页面中对图表进行编码

SalesPage.xaml


SalesPage.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OxyPlot;
using Xamarin.Forms;
using OxyPlot.Xamarin.Forms;

namespace XamarinFormsDemo.Views
    {
        public partial class SalesPage : ContentPage
        {       
        public SalesPage()
        {
            InitializeComponent();
        }
    }
}
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using ImageCircle.Forms.Plugin.Droid;

namespace XamarinFormsDemo.Droid
{
    [Activity(Label = "XamarinFormsDemo", Icon = "@drawable/recordsicon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
        base.OnCreate(bundle);
        global::Xamarin.Forms.Forms.Init(this, bundle);
        OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init();
        LoadApplication(new App());
        ImageCircleRenderer.Init();
        }
    }
}
MainActivity.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OxyPlot;
using Xamarin.Forms;
using OxyPlot.Xamarin.Forms;

namespace XamarinFormsDemo.Views
    {
        public partial class SalesPage : ContentPage
        {       
        public SalesPage()
        {
            InitializeComponent();
        }
    }
}
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using ImageCircle.Forms.Plugin.Droid;

namespace XamarinFormsDemo.Droid
{
    [Activity(Label = "XamarinFormsDemo", Icon = "@drawable/recordsicon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
        base.OnCreate(bundle);
        global::Xamarin.Forms.Forms.Init(this, bundle);
        OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init();
        LoadApplication(new App());
        ImageCircleRenderer.Init();
        }
    }
}

这实际上是我第一次创建图表,所以请帮助我。谢谢你的帮助

有一个Oxy Plot和Xamarin.Forms的入门指南。要回答您的问题,您可以执行以下操作:


有更多关于
系列的文档和一些在互联网上使用它的示例。例如:

    private static PlotModel CreateExample()
    {
        var model = new PlotModel { Title = "World population by continent" };

        var ps = new PieSeries
        {
            StrokeThickness = 2.0,
            InsideLabelPosition = 0.8,
            AngleSpan = 360,
            StartAngle = 0
        };

        // http://www.nationsonline.org/oneworld/world_population.htm
        // http://en.wikipedia.org/wiki/Continent
        ps.Slices.Add(new PieSlice("Africa", 1030) { IsExploded = true });
        ps.Slices.Add(new PieSlice("Americas", 929) { IsExploded = true });
        ps.Slices.Add(new PieSlice("Asia", 4157));
        ps.Slices.Add(new PieSlice("Europe", 739) { IsExploded = true });
        ps.Slices.Add(new PieSlice("Oceania", 35) { IsExploded = true });

        model.Series.Add(ps);
        return model;
    }

在你的问题上加上c#标记,让代码有点颜色。@Kirenenko好的,先生。谢谢,谢谢,先生。但是您提供的链接仅在一个文件中?Pieseries示例仅用于示例?我应该把它放在哪里?那是模型吗?我应该在.XAML文件中编写什么代码?先生,我应该把代码放在上面的什么地方?在模型中还是在代码隐藏中?我应该在.xaml文件中放什么?非常感谢先生。先生,我应该把代码放在哪里?在模型中还是在代码隐藏中?我应该在.xaml文件中放什么?非常感谢,先生。