AChartEngine应用之LineChart(模拟三角函数sin,cos)

本文介绍如何利用AChartEngine库在Android上绘制三角函数sin和cos的曲线图,强调设置XYMultipleSeriesRenderer,构建数据源CategorySeries以及生成LineChart的步骤。文章提供了一张效果图,并给出了完整的项目下载链接,是AChartEngine应用系列教程的一部分。
摘要由CSDN通过智能技术生成

AChartEngine应用之LineChart(模拟三角函数sin,cos)

用AChartEngine模拟sin,cos三角函数,这是高中的时候画过的函数图,现在通过代码来画就是不一样,我现在是测试了sin,cos其他的不知道AChartEngine能不能画。画这些函数的时候最好要弄多一些点,设置每个点的跨度不宜太大了,因为这些三角函数图还是由一系列的点组成,点太少可能导致不圆滑,构建LineChart图的步骤主要分为以下三步,还需要在项目中引入AChartEngine依赖jar包,在Manifest中添加:<activityandroid:name="org.achartengine.GraphicalActivity" />

1.     设置XYMultipleSeriesRenderer

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

renderer.setAxisTitleTextSize(16);

         renderer.setChartTitleTextSize(20);

         renderer.setLabelsTextSize(15);

         renderer.setLegendTextSize(15);

         renderer.setPointSize(5f);

         renderer.setMargins(new int[] { 20, 30, 15, 20 });// 上,左,下,右 

renderer.setXLabelsAlign(Align.RIGHT);

         renderer.setXLabels(0);// 设置X轴显示的刻度标签的个数

         renderer.setZoomEnabled(false);

         renderer.setPanEnabled(false, false);// 不允许左右拖动,不允许上下拖动.

 

2.     构建数据源CategorySeries

int step = 2;// 设置每个点的跨度,不宜太大了,因为这些三角函数图还是由一

系列的点组成,

点太少可能导致不圆滑

int count = 360 / step + 1;// 需要产生的点数

List<double[]> x = new ArrayList<double[]>();// X轴数据集

List<double[]> y = new ArrayList<double[]>();// Y轴数据集

x.add(new double[count]);

                   x.add(new double[count]);

                   double[] sinValues = new double[count];

                   double[] cosValues = new double[count];

                   y.add(sinValues);// 添加sin

                   y.add(cosValues);// 添加cos

                   for (int i = 0; i < count; i++) {// 产生点

                            int angle = i * step;

                            x.get(0)[i] = angle;

                            x.get(1)[i] = angle;

                            double rAngle = Math.toRadians(angle);

                            sinValues[i] = Math.sin(rAngle);// 获取相应的sin值

                            cosValues[i] = Math.cos(rAngle);// 获取相应的cos值

           

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值