Xamarin图表开发基础教程(4)OxyPlot框架

Xamarin图表开发基础教程(4)OxyPlot框架

XamaminAndroid中绘制线图OxyPlotAndroidDemo

【示例1-1:OxyPlotAndroidDemo】下面实现线图的绘制。具体的操作步骤如下:

(1)打开Xamarin.Android项目。

(2)将OxyPlot.Xamarin.Android组件添加到项目中的引入中。

(3)打开activity_main.axml文件,使用PlotView进行布局。代码如下:

 xmlns:app="http://schemas.android.com/apk/res-auto"

 xmlns:tools="http://schemas.android.com/tools"

 android:layout_width="match_parent"

 android:layout_height="match_parent">

 android:id="@+id/plot_view"

 android:layout_width="match_parent"

 android:layout_height="match_parent"/>

(4)打开MainActivity.cs文件,在此文件中实现剩余的步骤,即绘制图表并设置显示模式。代码如下:

using Android.App;

using Android.OS;

using Android.Support.V7.App;

using Android.Runtime;

using Android.Widget;

using OxyPlot.Xamarin.Android;

using OxyPlot;

using OxyPlot.Axes;

using OxyPlot.Series;

namespace OxyPlotAndroidDemo

{

 [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]

 public class MainActivity : AppCompatActivity

 {

 protected override void OnCreate(Bundle savedInstanceState)

 {

 base.OnCreate(savedInstanceState);

 // Set our view from the "main" layout resource

 SetContentView(Resource.Layout.activity_main);

 PlotView view = FindViewById(Resource.Id.plot_view);

 view.Model = CreatePlotModel(); //设置显示模式

 }

 //绘制图表

 private PlotModel CreatePlotModel()

 {

 //创建图表模式

 var plotModel = new PlotModel

 {

 Title = "OxyPlot Demo"

 };

 //添加坐标轴

 plotModel.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom });

 plotModel.Axes.Add(new LinearAxis { Position = AxisPosition.Left, Maximum = 10, Minimum = 0 });

 //创建数据列

 var series1 = new LineSeries

         {

 Title= "Data",

 MarkerType = MarkerType.Circle,

 MarkerSize = 4,

 MarkerStroke = OxyColors.White

 };

 //添加数据点

 series1.Points.Add(new DataPoint(0.0, 6.0));

 series1.Points.Add(new DataPoint(1.4, 2.1));

 series1.Points.Add(new DataPoint(2.0, 4.2));

 series1.Points.Add(new DataPoint(3.3, 2.3));

 series1.Points.Add(new DataPoint(4.7, 7.4));

 series1.Points.Add(new DataPoint(6.0, 6.2));

 series1.Points.Add(new DataPoint(8.9, 8.9));

 //添加数据列

 plotModel.Series.Add(series1);

 return plotModel;

 }

 }

}

运行程序,显示的图表如图1.1所示。

图1.1 Xamarin.Android平台的线图效果

推荐阅读更多精彩内容