Xamarin图表开发基础教程(8)OxyPlot框架
【示例OxyPlotFormsDemo】在Xamarin.Forms中实现线图的显示。
(1)打开Xamarin.Forms项目。
(2)将OxyPlot.Xamarin.Forms组件添加到各个子项目中的引入中。
(3)打开OxyPlotFormsDemo.Android子项目的MainActivity.cs文件,初始化OxyPlot渲染器,代码如下:
usingSystem;usingAndroid.App;usingAndroid.Content.PM;usingAndroid.Runtime;usingAndroid.Views;usingAndroid.Widget;usingAndroid.OS;namespaceOxyPlotFormsDemo.Droid{[Activity(Label="OxyPlotFormsDemo",Icon="@mipmap/icon",Theme="@style/MainTheme",MainLauncher=true,ConfigurationChanges=ConfigChanges.ScreenSize|ConfigChanges.Orientation)]publicclassMainActivity:global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity{protectedoverridevoidOnCreate(BundlesavedInstanceState){TabLayoutResource=Resource.Layout.Tabbar;ToolbarResource=Resource.Layout.Toolbar;base.OnCreate(savedInstanceState);Xamarin.Essentials.Platform.Init(this,savedInstanceState);global::Xamarin.Forms.Forms.Init(this,savedInstanceState);OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init();LoadApplication(newApp());}}}
(4)打开OxyPlotFormsDemo.iOS子项目的AppDelegate.cs文件,初始化OxyPlot渲染器,代码如下:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingFoundation;usingUIKit;namespaceOxyPlotFormsDemo.iOS{[Register("AppDelegate")]publicpartialclassAppDelegate:global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate{publicoverrideboolFinishedLaunching(UIApplicationapp,NSDictionaryoptions){global::Xamarin.Forms.Forms.Init();OxyPlot.Xamarin.Forms.Platform.iOS.PlotViewRenderer.Init();LoadApplication(newApp());returnbase.FinishedLaunching(app,options);}}}
(5)打开App.xaml.cs文件,完成剩余的步骤,即创建PlotView视图、绘制图表、设置显示模式等。代码如下:
usingOxyPlot;usingOxyPlot.Axes;usingOxyPlot.Series;usingOxyPlot.Xamarin.Forms;usingSystem;usingXamarin.Forms;usingXamarin.Forms.Xaml;namespaceOxyPlotFormsDemo{publicpartialclassApp:Application{publicApp(){MainPage=newContentPage{//创建并将主页面的内容设置为PlotViewContent=newPlotView{Model=CreatePlotModel(),VerticalOptions=LayoutOptions.Fill,HorizontalOptions=LayoutOptions.Fill,}};}//绘制图表privatePlotModelCreatePlotModel(){//创建图表模式varplotModel=newPlotModel{Title="OxyPlotDemo"};//添加坐标轴plotModel.Axes.Add(newLinearAxis{Position=AxisPosition.Bottom});plotModel.Axes.Add(newLinearAxis{Position=AxisPosition.Left,Maximum=10,Minimum=0});//创建数据列varseries1=newLineSeries{Title="Data",MarkerType=MarkerType.Circle,MarkerSize=4,MarkerStroke=OxyColors.White};//添加数据点series1.Points.Add(newDataPoint(0.0,6.0));series1.Points.Add(newDataPoint(1.4,2.1));series1.Points.Add(newDataPoint(2.0,4.2));series1.Points.Add(newDataPoint(3.3,2.3));series1.Points.Add(newDataPoint(4.7,7.4));series1.Points.Add(newDataPoint(6.0,6.2));series1.Points.Add(newDataPoint(8.9,8.9));//添加数据列plotModel.Series.Add(series1);returnplotModel;}……}}
运行程序,会看到如图1.3所示的效果。
图1.3 Android的效果与iOS的效果
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。