AChartEngine是Android作图的方法之一,要使用AChartEngine,首先下载AChartEngine,按照以下方法将其jar包添加到工程中:

1、将achartengine-1.1.0.jar文件复制到工程的libs文件夹下;

2、在Eclipse中选中工程,按F5刷新;

3、在Eclipse中选中libs文件夹下的achartengine-1.1.0.jar,右键点击Build Path-->Add to Build Path。

然后在Manfest文件中加入AChartEngine绘图的Activity:

<activity android:name = "org.achartengine.GraphicalActivity" />

最后是编写java文件:

package com.hzhi.chartdemo;import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;public class MainActivity extends Activity {// 数据值double[] dx = new double[]{1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00};     double[] dy = new double[]{5.35,3.67,5.98,9.88,7.21,6.12,5.05,6.44,5.41,9.98};  @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);DrawChart();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void DrawChart(){double x,y;        // 定义XYMultipleSeriesRendererXYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();// 定义XYMultipleSeriesDatasetXYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();// 定义XYSeriesRendererXYSeriesRenderer xyRenderer = new XYSeriesRenderer();// 定义XYSeriesXYSeries series = new XYSeries("DATA_01");// 将数据加入series        for (int i=0; i<10; i++){x = dx[i];y = dy[i];series.add(x,y);}        // 将series加入datasetdataset.addSeries(series);// 设置系列颜色xyRenderer.setColor(Color.YELLOW);// 设置系列点样式xyRenderer.setPointStyle(PointStyle.SQUARE);// 设置系列点宽度xyRenderer.setPointStrokeWidth(10);// 设置系列点样式xyRenderer.setLineWidth(5);// 将xyRenderer加入rendererrenderer.addSeriesRenderer(xyRenderer);// 设置图表标题renderer.setChartTitle("AChartEngine DEMO");renderer.setChartTitleTextSize(30);// 设置图表标题X,Y轴的标题及样式renderer.setXTitle("X VALUES");    renderer.setYTitle("Y VALUES");renderer.setAxisTitleTextSize(30); renderer.setYLabelsPadding(20);// 设置坐标轴数值的字体renderer.setLabelsTextSize(30);// 坐标轴的最大、最小值renderer.setXAxisMax(10);renderer.setXAxisMin(0);renderer.setYAxisMax(10);renderer.setYAxisMin(0);// 设置图表背景颜色renderer.setBackgroundColor(Color.BLACK);renderer.setApplyBackgroundColor(true);// 设置图表的Margins数组(1.上,2.左,3.下,4.右)        int[] m = new int[]{80,80,20,20};renderer.setMargins(m);// 是否显示图例renderer.setShowLegend(false);// 显示网格renderer.setShowGrid(true);// 网格颜色renderer.setGridColor(Color.WHITE);// 绘制曲线图Intent intent = ChartFactory.getLineChartIntent(this, dataset, renderer);startActivity(intent);}}

由于显示的是org.achartengine.GraphicalActivity,所以在onCreate(Bundle savedInstanceState)方法中,删掉setContentView()语句,用绘图函数DrawChart()替代。

DrawChart()首先定义了几个变量。XYMultipleSeriesRenderer是整个图形,XYSeriesRenderer是图形里面的一个系列;XYMultipleSeriesDataset是整个图形的数据集,XYSeries是图形里面一个系列的数据集。

首先将多组成对的X值和Y值加入XYSeries,再将XYSeries加入XYMultipleSeriesDataset。然后设置XYSeriesRenderer的一些属性,再将设置好的XYSeriesRenderer加入XYMultipleSeriesRenderer。如果有多个系列,可以重复上述过程,只要保证一个XYSeries对应一个XYSeriesRenderer即可。最后设置XYMultipleSeriesRenderer的一些属性,即整个图形的属性。

设置好以后,用ChartFactory.getLineChartIntent()函数绘制曲线图。如果绘制条形图,用getBarChartIntent(),绘制饼图用getPieChartIntent(),还有其他一些图形,就不一一例举了。

绘制出的图形如下:

AChartEngine绘制图形相关推荐

  1. 绘制多边形_XDGE_RayMarchine 1- 利用Frag Shader绘制图形

    转载于小道的博客园 XDGE_RayMarchine 1- 利用Frag Shader绘制图形​www.cnblogs.com # Render/RayMarchine/Base 1- 利用Frag绘 ...

  2. 【青少年编程】【二级】绘制图形

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  3. 这么详细的Python matplotlib 绘制图形 还不赶紧收藏

    前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. 超详细的Python matplot ...

  4. 用python绘制漂亮的图形-用python绘制图形的实例详解

    1.环境系统:windows10 python版本:python3.6.1 使用的库:matplotlib,numpy 2.numpy库产生随机数几种方法import numpy as npnumpy ...

  5. python turtle库画图案-python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  6. python turtle库画图案-Python如何使用turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  7. 009_Raphael绘制图形

    1. Raphael是一个用于在网页中绘制矢量图形的Javascript库.它使用SVG W3C推荐标准和VML作为创建图形的基础, 你可以通过JavaScript操作DOM来轻松创建出各种复杂的柱状 ...

  8. html5 绘制图形,HTML5绘制几何图形

    绘制几何图形 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext(" ...

  9. OpenCV_02 图像的基本操作:图像IO+绘制图形+像素点+属性+图像通道+色彩空间的改变

    1 图像的IO操作 这里我们会给大家介绍如何读取图像,如何显示图像和如何保存图像. 1.1 读取图像 API cv.imread() 参数: 要读取的图像 读取方式的标志 cv.IMREAD*COLO ...

最新文章

  1. BZOJ 3456: 城市规划 [多项式求逆元 DP]
  2. Python + Selenium 自动发布文章(二):简书
  3. 线程及同步的性能 – 线程池/ ThreadPoolExecutors/ ForkJoinPool
  4. Unity中有两种Animation Clip
  5. java exception e抛异常_抛出的异常在上层catch到,但是e.getMessage()为NULL,为什么会这样?...
  6. pyhanlp 共性分析与短语提取
  7. vscode 如何实时显示html文件?
  8. 阿里巴巴开源Weex 开发教程
  9. jax-rs jax-ws_如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化
  10. java 网页正文抽取算法_网页正文抽取算法 ContentExtractor
  11. 第一章 进程与线程的基本概念
  12. shell加密工具shc的安装
  13. OWC资料收集-绑定到数据源 Office XP 图表组件
  14. biztalk 2006 事务补偿模型[翻译]
  15. 华为交换机5720常用命令
  16. 商品销售数据建模及分析
  17. winrar 命令解压缩
  18. [易飞]取消库位规格书
  19. adb 和 scrcpy实现手机无线投屏
  20. 高精度地图中的中英文专业词汇对照

热门文章

  1. 实用工具---制作试卷
  2. [部署]VM11下CentOS7mini安装及配置
  3. FDMemTable 数据集
  4. 数据产品必知的4层技术知识
  5. 用户画像,如何驱动产品链路优化?
  6. 别拿BI不当产品(上)进击的数据产品
  7. PMCAFF产品经理第一课 | 深圳站 现场集锦
  8. 50%的次日留存率,没有评论留言功能的same是如何做到的?
  9. 前微博副总私房干货:微博平台与架构从零到IPO的打磨经验
  10. linux下文件无法删除不能编辑