achartengine之折线图

跟饼图很相似。。。

相关类

  dataset:是一个XYMultipleSeriesDataset对象 可以理解为一个数据集

      XYSeries:可以理解为一条线上的数据 也就是点

  mRenderer:XYMultipleSeriesRenderer  渲染器用来控制表图的外观
 是继承于DefaultRenderer

      XYSeriesRenderer:可以理解为没一条线的外观。。。跟一个XYSeries相对应

  
GraphicalView  mChartView = ChartFactory.getLineChartView(context,
dataset, mRenderer);

 

  什么动态改变数据的模拟我就没有做了。。。大家可以参照我饼图来添加。。。。。。。。。。。

package com.myluocan.chart;

import org.achartengine.ChartFactory;
import
org.achartengine.GraphicalView;
import
org.achartengine.chart.PointStyle;
import
org.achartengine.model.XYMultipleSeriesDataset;
import
org.achartengine.model.XYSeries;
import
org.achartengine.renderer.BasicStroke;
import
org.achartengine.renderer.XYMultipleSeriesRenderer;
import
org.achartengine.renderer.XYSeriesRenderer;

import android.R.color;
import android.content.Context;
import
android.graphics.Color;
import android.graphics.Paint.Align;

public class lineChart {
private XYMultipleSeriesDataset
Mdataset;
private XYMultipleSeriesRenderer
Mrenderer;
private GraphicalView graphicalView;
private Context
context;
private double[] xAxisCoord; //x轴上的坐标
private double[]
yAxisCoord; //Y轴上的坐标
private String[] xAxisLabel; //x轴上的标签
private
String[] yAxisLabel; //Y轴上的标签

public lineChart(double[] xAxisCoord,
double[] yAxisCoord,String[] xAxisLabel) {
super();
this.xAxisCoord =
xAxisCoord;
this.yAxisCoord =
yAxisCoord;
this.xAxisLabel=xAxisLabel;
}

public void
setxAxisCoord(double[] xAxisCoord) {
this.xAxisCoord =
xAxisCoord;
}
public double[] getyAxisCoord() {
return
yAxisCoord;
}
public void setyAxisCoord(double[] yAxisCoord)
{
this.yAxisCoord = yAxisCoord;
}
public String[] getxAxisLabel()
{
return xAxisLabel;
}
public void setxAxisLabel(String[]
xAxisLabel) {
this.xAxisLabel = xAxisLabel;
}
public String[]
getyAxisLabel() {
return yAxisLabel;
}
public void
setyAxisLabel(String[] yAxisLabel) {
this.yAxisLabel =
yAxisLabel;
}

public GraphicalView createLine(Context
context)
{
this.context=context;

Mrenderer=getLineRenderer();

Mdataset=getLineDataset();
graphicalView=ChartFactory.getLineChartView(context,
Mdataset, Mrenderer);
return graphicalView;
}
public
XYMultipleSeriesRenderer getLineRenderer()
{
XYMultipleSeriesRenderer
renderer=new
XYMultipleSeriesRenderer();

renderer.setShowLegend(false);//
不显示图例

renderer.setShowLabels(true);//是否显示XY 的label
默认值是true
renderer.setChartTitle("测试折线图");

renderer.setShowGrid(true);//
设置显示网格线
renderer.setGridColor(Color.LTGRAY);//
设置网格线的颜色
renderer.setClickEnabled(true);//是否启动点击事件

renderer.setAxisTitleTextSize(10);//
设置坐标轴标签字体大小
renderer.setAxesColor(Color.LTGRAY);

renderer.setXAxisMin(0.5);

//设置X坐标轴的最小最大值
renderer.setXAxisMax(7.5);

renderer.setYAxisMin(5.5);

//设置y坐标轴的最小最大值
renderer.setYAxisMax(65.5);

renderer.setXLabels(0);//
X轴方向显示多少个标签,0表示自定义
renderer.setYLabels(6);//
Y轴方向显示多少个标签

renderer.setLabelsTextSize(25);//
设置轴上标签的大小
renderer.setXLabelsColor(Color.LTGRAY);//
设置X轴标签的显示颜色
renderer.setYLabelsColor(0, Color.LTGRAY); //
设置Y轴标签的显示颜色
renderer.setXLabelsAlign(Align.LEFT);//
设置X轴在标签哪边对齐方式
renderer.setYLabelsAlign(Align.CENTER);//设置Y轴在标签哪边对齐方式
renderer.setXLabelsAngle(-40);//设置X轴label旋转的度数

renderer.setPointSize(5);//点的大小

renderer.setBarSpacing(50);
//设置X轴上的标签
for(int
i=0;i<xAxisCoord.length;i++)
{
renderer.addXTextLabel(xAxisCoord[i],xAxisLabel[i]);
}
if(renderer.getSeriesRendererCount()<=0)
{
renderer.addSeriesRenderer(CreateSeriesRenderer());
}
return
renderer;
}
public XYSeriesRenderer
CreateSeriesRenderer()
{
XYSeriesRenderer seriesRenderer=new
XYSeriesRenderer();
seriesRenderer.setPointStyle(PointStyle.CIRCLE);//设置点的样式
seriesRenderer.setColor(Color.BLUE);//设置点的颜色
seriesRenderer.setFillPoints(true);//是否要填充点

是不是实心点
seriesRenderer.setChartValuesTextAlign(Align.CENTER);//设置图表值文本对齐。
seriesRenderer.setChartValuesTextSize(20);//点的值的文字大小
seriesRenderer.setDisplayChartValues(true);//将点的值显示出来

seriesRenderer.setGradientEnabled(true);//是否启动坡度

//
seriesRenderer.setFillBelowLine(true); // 折线下方是否用颜色填充
//
seriesRenderer.setFillBelowLineColor(Color.BLACK);
seriesRenderer.setStroke(BasicStroke.SOLID);//设置描边风格
seriesRenderer.setLineWidth(2);

return
seriesRenderer;
}
public XYMultipleSeriesDataset
getLineDataset()
{
XYMultipleSeriesDataset dataset = new
XYMultipleSeriesDataset();
XYSeries series=new XYSeries("统计");
for(int
i=0;i<xAxisCoord.length;i++)
{
series.add(xAxisCoord[i],
yAxisCoord[i]);
}
dataset.addSeries(series);
return
dataset;
}
}

  

时间: 2024-12-19 08:00:58

achartengine之折线图的相关文章

AChartEngine 安卓折线图 柱形图等利器

http://www.eoeandroid.com/thread-548233-1-6.html 最近公司项目中要用到折线图,状态类型的图标要用到折线图,柱形图等,并且能够动态显示,在网上找了许多demo,基本上都是写死的数据,下面先让我们看看AChartEngine的介绍 AChartEngine 运行示例图 : 每个图表都需要一个数据集 (Dataset) 和 渲染器集合 (Renderer); -- 数据集 : 又由许多数据组成, -- 渲染器 : 也由不同的子渲染器组成, -- 获取Ac

Android通过achartengine画折线图

因为前段时间Android项目中用到了折线图的功能,在查资料的过程中发现achartengine这个包有非常强大的画图功能,正好最近有时间,就整理一下方便以后查看. 首先要使用画图功能,就必须在lib中引入achartengine包.为了使用方便,直接使用示例中的两个文件,源码如下: IDemoChart.java import android.content.Context; import android.content.Intent; /** * Defines the demo chart

Android图表引擎AChartEngine之折线图使用

最近在帮老师做一个课题,其中app端需要显示折线图以便直观地看数据波动,上网查了些资料后发现了这款图标引擎,另外感谢李坤老师的博客,帮助很大. 废话不多说,下面写代码. 一.AChartEngine是一款非常强大的绘图引擎,不过我这里只需用到折线图,所以并没有其他图的使用.首先我们要导入achartengine-xxx.jar,我这里使用的是achartengine-0.7.0.jar. 二.工欲善其事,必先利其器.由于在项目中需要使用图表的地方不止一处,我根据自己实际所需情况先封了个工具类.

android使用achartengine 实现折线图

折线图的实现分为下边几个步骤: 1.第一步:数据的准备 XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); XYSeries series1 = new XYSeries("第一条线"); series1.add(1, 7); series1.add(2, 9); series1.add(3,12); series1.add(4, 5); mDataset.addSeries(series1); XYSer

Android 用achartengine 画折线图怎么显示不正确

============问题描述============ X.Y的刻度值都是我自己定义的 显示的点的位置不正确 请问是什么原因 怎么处理  还有我设置了显示网格 为什么不显示了 Y轴不设置自己的定义的刻度值 但是刻度个数又不对 这种情况显示是正确的就是刻度个数不够 ============解决方案1============ 属性设置不对,找个demo仔细看看设置,看自己哪里设置不对. ============解决方案2============ 我以前整理的一个曲线图,我共享下,你下载看看,里面东

achartengine画出动态折线图

achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目时间上也不允许,虽然这个画图引擎比较简单,不过勉强够用了. 下一步问题就来了,我仓促上手,只会画静态图,就是事先定义好几个坐标,然后activity载入的时候折线就已经画好了,可是我的项目要求我每隔一秒种都要把新搜集到的数据添加到图表中去,类似于windows中那个任务管理器里的性能统计图,网上搜来

安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图

前面几篇博客中都是调用ChartFactory.get***Intent()方法,本节讲的内容调用ChartFactory.get***View()方法,这个方法调用的结果可以嵌入到任何一个Activity中,作为Activity的一部分. XYChartBuilder.java(源码分析见注释) [java] view plaincopy package org.achartengine.chartdemo.demo.chart; import java.io.File; import jav

安卓图表引擎AChartEngine(三) - 示例源码折线图、饼图和柱状图

折线图: [java] view plaincopy package org.achartengine.chartdemo.demo.chart; import java.util.ArrayList; import java.util.List; import org.achartengine.ChartFactory; import org.achartengine.chart.PointStyle; import org.achartengine.renderer.XYMultipleSe

Android画折线图、柱状图、饼图(使用achartengine.jar)

自从用了画折线的jar包之后,就不想再用canvas画布去画了,编程就是要站在巨人的肩膀上. 所需要的jar包achartenginejar 折线代码布局文件就不上传了很简单 另一种线的渲染器 扇形图代码 柱状图代码 属性总结部分代码 新测试代码下载地址 所需要的jar包:achartengine.jar 下载地址:http://download.csdn.net/detail/zhengyikuangge/9460642 折线代码(布局文件就不上传了,很简单): package com.exa