使用achartengine-1.1.0画折线图

来源:互联网 发布:淘宝店怎么运营起来 编辑:程序博客网 时间:2024/05/17 23:34

小笔记之使用AChartengine画折线图。

http://download.csdn.net/detail/u013091087/9522409

首先,将jar复制,粘贴到project里libs文件夹里头。
然后,在Manifest里边添加

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

接着

package com.jiaui.achartenginedemo;import java.util.ArrayList;import java.util.List;import org.achartengine.ChartFactory;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.app.Activity;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;public class MainActivity extends Activity {    // 每个Item的title    private String[] itemTitles = { "Water", "Air", "Soil" };    // x轴的值    private List<double[]> x = new ArrayList<double[]>();    // y轴的值    private List<double[]> y = new ArrayList<double[]>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 准备数据        initDateSet();        // 将数据封装成XYMultipleSeriesDataset        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();        for (int i = 0; i < itemTitles.length; i++) {            // 设置每条折线的标题            XYSeries series = new XYSeries(itemTitles[i]);            // 每条线每个点坐标值,也就是x,y值            for (int j = 0; j < x.get(i).length; j++) {                series.add(x.get(i)[j], y.get(i)[j]);            }            // 数据集里添上一条线            dataset.addSeries(series);        }        Intent intent = ChartFactory.getLineChartIntent(this, dataset,                getTemperatureDemoRenderer());        startActivity(intent);    }    private void initDateSet() {        for (int i = 0; i < itemTitles.length; i++) {            x.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });        }        y.add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1,                23.6, 20.3, 17.2, 13.9 });        y.add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 });        y.add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });    }    private XYMultipleSeriesRenderer getTemperatureDemoRenderer() {        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();        // 每条折线的颜色        int colors[] = { Color.BLUE, Color.GREEN, Color.YELLOW };        // 点的样式        PointStyle pointStyle[] = new PointStyle[] { PointStyle.CIRCLE,                PointStyle.DIAMOND, PointStyle.TRIANGLE };        for (int i = 0; i < pointStyle.length; i++) {            XYSeriesRenderer r = new XYSeriesRenderer();            r.setColor(colors[i]);// 折线的颜色            r.setPointStyle(pointStyle[i]);// 折线点的风格            r.setFillPoints(true);// 点是否实心            renderer.addSeriesRenderer(r);        }        // 图标部分的背景颜色        renderer.setBackgroundColor(Color.parseColor("#225588"));        renderer.setApplyBackgroundColor(true);        // 显示放大缩小还原的按钮        renderer.setZoomButtonsVisible(true);        // x,y轴显示的单元个数        renderer.setXLabels(12);        renderer.setYLabels(10);        return renderer;    }}

最后,效果图
这里写图片描述

0 0
原创粉丝点击