AChartEngine绘制图形
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绘制图形相关推荐
- 绘制多边形_XDGE_RayMarchine 1- 利用Frag Shader绘制图形
转载于小道的博客园 XDGE_RayMarchine 1- 利用Frag Shader绘制图形www.cnblogs.com # Render/RayMarchine/Base 1- 利用Frag绘 ...
- 【青少年编程】【二级】绘制图形
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...
- 这么详细的Python matplotlib 绘制图形 还不赶紧收藏
前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. 超详细的Python matplot ...
- 用python绘制漂亮的图形-用python绘制图形的实例详解
1.环境系统:windows10 python版本:python3.6.1 使用的库:matplotlib,numpy 2.numpy库产生随机数几种方法import numpy as npnumpy ...
- python turtle库画图案-python中的turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- python turtle库画图案-Python如何使用turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- 009_Raphael绘制图形
1. Raphael是一个用于在网页中绘制矢量图形的Javascript库.它使用SVG W3C推荐标准和VML作为创建图形的基础, 你可以通过JavaScript操作DOM来轻松创建出各种复杂的柱状 ...
- html5 绘制图形,HTML5绘制几何图形
绘制几何图形 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext(" ...
- OpenCV_02 图像的基本操作:图像IO+绘制图形+像素点+属性+图像通道+色彩空间的改变
1 图像的IO操作 这里我们会给大家介绍如何读取图像,如何显示图像和如何保存图像. 1.1 读取图像 API cv.imread() 参数: 要读取的图像 读取方式的标志 cv.IMREAD*COLO ...
最新文章
- BZOJ 3456: 城市规划 [多项式求逆元 DP]
- Python + Selenium 自动发布文章(二):简书
- 线程及同步的性能 – 线程池/ ThreadPoolExecutors/ ForkJoinPool
- Unity中有两种Animation Clip
- java exception e抛异常_抛出的异常在上层catch到,但是e.getMessage()为NULL,为什么会这样?...
- pyhanlp 共性分析与短语提取
- vscode 如何实时显示html文件?
- 阿里巴巴开源Weex 开发教程
- jax-rs jax-ws_如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化
- java 网页正文抽取算法_网页正文抽取算法 ContentExtractor
- 第一章 进程与线程的基本概念
- shell加密工具shc的安装
- OWC资料收集-绑定到数据源 Office XP 图表组件
- biztalk 2006 事务补偿模型[翻译]
- 华为交换机5720常用命令
- 商品销售数据建模及分析
- winrar 命令解压缩
- [易飞]取消库位规格书
- adb 和 scrcpy实现手机无线投屏
- 高精度地图中的中英文专业词汇对照