首先需要下载Jar包:图表jar.rar

线性图:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        // 1, 构造显示用渲染图XY        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();        // 2,进行显示        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();        // 2.1, 构建数据        Random r = new Random();        for (int i = 0; i < 2; i++) {            // 创建代表哪一条线的标题,这里是画两条            XYSeries series = new XYSeries("test" + (i + 1));            // 填充数据,一条标题10个点            for (int k = 0; k < 10; k++) {                // 填x,y值                series.add(k, 20 + r.nextInt() % 100);            }            // 需要绘制的点放进dataset中            dataset.addSeries(series);        }        // 3, 对点的绘制进行设置        XYSeriesRenderer xyRenderer = new XYSeriesRenderer();        // 3.1设置颜色        xyRenderer.setColor(Color.BLUE);        // 3.2设置点的样式        xyRenderer.setPointStyle(PointStyle.SQUARE);        // 3.3, 将要绘制的点添加到坐标绘制中        renderer.addSeriesRenderer(xyRenderer);                // 3.4,重复 1~3的步骤绘制第二个系列点        xyRenderer = new XYSeriesRenderer();        xyRenderer.setColor(Color.RED);        xyRenderer.setPointStyle(PointStyle.CIRCLE);        renderer.addSeriesRenderer(xyRenderer);        // Intent intent = new LinChart().execute(this);        // 打开画图的Activity,需要在manifest中设置 <activity android:name="org.achartengine.GraphicalActivity" />        Intent intent = ChartFactory                .getLineChartIntent(this, dataset, renderer);        startActivity(intent);    }}

柱状图:

// 柱状图        XYMultipleSeriesRenderer renderer = getBarDemoRenderer();        Intent intent = ChartFactory.getBarChartIntent(this,                getBarDemoDataset(), renderer, Type.DEFAULT);        startActivity(intent);//设置柱状图的Series    private XYMultipleSeriesDataset getBarDemoDataset() {        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();        final int nr = 10;        Random r = new Random();        // 一共是3种不同的柱状图        for (int i = 0; i < SERIES_NR; i++) {            CategorySeries series = new CategorySeries("Demo series " + (i + 1));            // 设置每个的高度            for (int k = 0; k < nr; k++) {                series.add(100 + r.nextInt() % 100);            }            dataset.addSeries(series.toXYSeries());        }        return dataset;    }    //设置柱状图的Renderer,设置颜色    public XYMultipleSeriesRenderer getBarDemoRenderer() {        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();        SimpleSeriesRenderer r = new SimpleSeriesRenderer();        r.setColor(Color.BLUE);        renderer.addSeriesRenderer(r);        r = new SimpleSeriesRenderer();        r.setColor(Color.GREEN);        renderer.addSeriesRenderer(r);        r = new SimpleSeriesRenderer();        r.setColor(Color.WHITE);        renderer.addSeriesRenderer(r);        setChartSettings(renderer);        return renderer;    }    //设置柱状图Renderer的属性    private void setChartSettings(XYMultipleSeriesRenderer renderer) {        renderer.setChartTitle("Chart demo");        renderer.setXTitle("x values");        renderer.setYTitle("y values");        renderer.setXAxisMin(0);// 设置X轴的最小值为0.5        renderer.setXAxisMax(10.5);// 设置X轴的最大值为10.5        renderer.setYAxisMin(0);// 设置Y轴的最小值为0        renderer.setYAxisMax(210);// 设置Y轴最大值为210        renderer.setDisplayChartValues(true); // 设置是否在柱体上方显示值        renderer.setShowGrid(true);// 设置是否在图表中显示网格        renderer.setXLabels(0);// 设置X轴显示的刻度标签的个数        for (int i = 1; i < 11; i++) {            // 设置x轴刻度的值            renderer.addTextLabel(i, "" + i);        }    }


饼状图:

// 饼状图            Intent intent = execute(MainActivity.this);            startActivity(intent);//设置饼状图    public Intent execute(Context context) {        double[] values = new double[] { 12, 14, 11, 10, 19 };        int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA,                Color.YELLOW, Color.CYAN };        DefaultRenderer renderer = buildCategoryRenderer(colors);        renderer.setZoomButtonsVisible(true);        renderer.setZoomEnabled(true);        // 设置饼状图的title字体大小        renderer.setChartTitleTextSize(20);        // 设置饼状图的title        renderer.setChartTitle("这是一个饼状图");        return ChartFactory.getPieChartIntent(context,                buildCategoryDataset("Project budget", values), renderer,                "Budget");    }    //设置饼状图的Renderer    protected DefaultRenderer buildCategoryRenderer(int[] colors) {        DefaultRenderer renderer = new DefaultRenderer();        renderer.setLabelsTextSize(15);        renderer.setLegendTextSize(15);        renderer.setMargins(new int[] { 20, 30, 15, 0 });        // 设置颜色        for (int color : colors) {            SimpleSeriesRenderer r = new SimpleSeriesRenderer();            r.setColor(color);            renderer.addSeriesRenderer(r);        }        return renderer;    }    //设置饼状图的Series    protected CategorySeries buildCategoryDataset(String title, double[] values) {        CategorySeries series = new CategorySeries(title);        int k = 0;        // 设置每份的大小        for (double value : values) {            series.add("Project " + ++k, value);        }        return series;    }

更多相关文章

  1. Android TextView 个别文字字体颜色格式
  2. 点击listitem按下效果替换默认颜色
  3. Android——自定义带刻度的SeekBar单向拖动条 原创 2017年04月21
  4. Android状态栏颜色修改
  5. Android 图表
  6. EditText 各部分颜色设置小结
  7. Android 5.0 Material 自定义Dialog 背景 字体大小颜色 ui组件颜

随机推荐

  1. android解析httpresponce内容
  2. 整理Android的列表的一行布局
  3. android四种动画
  4. Android L下载
  5. Android中数据存储的三种方式--基础
  6. Android: 模拟器system分区没有可用空间
  7. 关于微信登陆报错的解决方法 Caused by:
  8. 腾讯微博java(android) api
  9. android 数据储存——--文件存储(2)
  10. Android仿人人客户端(v5.7.1)——网络模块