跟饼图很相似。。。
相关类
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;
}
}