现在的位置: 首页 > 综合 > 正文

学习使用acharEngine绘制折线

2018年02月16日 ⁄ 综合 ⁄ 共 1876字 ⁄ 字号 评论关闭

在使用achartengine绘制图时,需要先导入类包achartengine.rar,这个包网上有很多可以自己下载。下面介绍一些需使用到的方法:

 
1、XYSeries对象:用于存储一条线的数据信息;
  2、XYMultipleSeriesDataset对象:即数据集,可添加多个XYSeries对象,因为一个折线图中可能有多条线。
  3、XYSeriesRenderer对象:主要是用来设置一条线条的风格,颜色啊,粗细之类的。
  4、XYMultipleSeriesRenderer对象:主要用来定义一个图的整体风格,设置xTitle,yTitle,chartName等等整体性的风格,
    可添加多个XYSeriesRenderer对象,因为一个图中可以有多条折线。
设置完那些对象之后,可通过 org.achartengine.ChartFactory调用数据集XYMultipleSeriesDataset对象
  与XYMultipleSeriesRenderer对象来画图并将图加载到GraphicalView中,
  ChartFactory有多种api,通过这些api调用来决定是画折线图还是柱状图。

在activity的onCreate方法里面写如下的内容,简单了解方法的使用以及达到的效果

 //
1, 构造显示用渲染图
        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));
            // 填充数据
            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);

 
       // 消除锯齿
renderer.setAntialiasing(true);
        // 3.3, 将要绘制的点添加到坐标绘制中
        renderer.addSeriesRenderer(xyRenderer);

 
     // 设置X轴不显示数字(改用我们手动添加的文字标签)
renderer.setXLabels(0);
// 设置支持修改颜色
renderer.setApplyBackgroundColor(true);
renderer.setMarginsColor(android.R.color.white);
        // 3.4,重复 1-3的步骤绘制第二个系列点
        xyRenderer = new XYSeriesRenderer();
        xyRenderer.setColor(Color.RED);
        xyRenderer.setPointStyle(PointStyle.CIRCLE);
        renderer.addSeriesRenderer(xyRenderer);
       
        Intent intent = ChartFactory
                .getLineChartIntent(this, dataset, renderer);
        startActivity(intent);

因为上面的方法在绘制图形时用到了内置的activity进行显示,所以需要在menifest文件中添加下行代码,然后才能正常使用

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

<我自己也是才学习这个,希望记录下来,与大家共同进步,有哪些不足也欢迎提出、补充奋斗>


抱歉!评论已关闭.