zoukankan      html  css  js  c++  java
  • 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);
    XYSeries series2 = new XYSeries("第二条线");
    series2.add(1, 3);
    series2.add(2, 8);
    series2.add(3, 7);
    series2.add(4, 4);
    mDataset.addSeries(series2);
    第二、步是描绘器的设置即XYMultipleSeriesRenderer的实现
    这个主要实现的是坐标轴的绘制包括,字体大小,坐标轴的刻度的设置
    例如 XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); //设置图表的X轴的当前方向 mRenderer.setOrientation(XYMultipleSeriesRenderer.Orientation.HORIZONTAL);
    mRenderer.setXTitle("日期");//设置为X轴的标题
    mRenderer.setYTitle("温度");//设置y轴的标题
    mRenderer.setAxisTitleTextSize(20);//设置轴标题文本大小
    mRenderer.setChartTitle("温度走势图");//设置图表标题
    mRenderer.setChartTitleTextSize(30);//设置图表标题文字的大小
    mRenderer.setLabelsTextSize(18);//设置标签的文字大小
    mRenderer.setLegendTextSize(20);//设置图例文本大小
    mRenderer.setPointSize(10f);//设置点的大小
    mRenderer.setYAxisMin(0);//设置y轴最小值是0
    mRenderer.setYAxisMax(15);
    mRenderer.setYLabels(10);//设置Y轴刻度个数(貌似不太准确)
    mRenderer.setXAxisMax(5);
    mRenderer.setShowGrid(true);//显示网格
    //将x标签栏目显示如:1,2,3,4替换为显示1月,2月,3月,4月
    mRenderer.addXTextLabel(1, "1月");
    mRenderer.addXTextLabel(2, "2月");
    mRenderer.addXTextLabel(3, "3月");
    mRenderer.addXTextLabel(4, "4月");
    mRenderer.setXLabels(0);//设置只显示如1月,2月等替换后的东西,不显示1,2,3等
    mRenderer.setMargins(new int[] { 20, 30, 15, 20 });//设置视图位置
    第三步:折线图线条的设置
    XYSeriesRenderer r = new XYSeriesRenderer();//(类似于一条线对象)
    r.setColor(Color.BLUE);//设置颜色
    r.setPointStyle(PointStyle.CIRCLE);//设置点的样式
    r.setFillPoints(true);//填充点(显示的点是空心还是实心)
    r.setDisplayChartValues(true);//将点的值显示出来
    r.setChartValuesSpacing(10);//显示的点的值与图的距离
    r.setChartValuesTextSize(25);//点的值的文字大小

    // r.setFillBelowLine(true);//是否填充折线图的下方
    // r.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
    r.setLineWidth(3);//设置线宽
    mRenderer.addSeriesRenderer(r);


    XYSeriesRenderer rTwo = new XYSeriesRenderer();//(类似于一条线对象)
    rTwo.setColor(Color.GRAY);//设置颜色
    rTwo.setPointStyle(PointStyle.CIRCLE);//设置点的样式
    rTwo.setFillPoints(true);//填充点(显示的点是空心还是实心)
    rTwo.setDisplayChartValues(true);//将点的值显示出来
    rTwo.setChartValuesSpacing(10);//显示的点的值与图的距离
    rTwo.setChartValuesTextSize(25);//点的值的文字大小

    // rTwo.setFillBelowLine(true);//是否填充折线图的下方
    // rTwo.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
    rTwo.setLineWidth(3);//设置线宽

    mRenderer.addSeriesRenderer(rTwo);

    第四步:生成图view
    GraphicalView view = ChartFactory.getLineChartView(this, mDataset, mRenderer);
    view.setBackgroundColor(Color.BLACK);

    转载请注明来源于

    作者: persist
    出处: http://www.cnblogs.com/persist-confident/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    阿杜复博通知
    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化
    网络课设总结(五)——利用CAsyncSocket进行异步通信
    网络课设总结(四)——利用CAsyncSocket进行异步通信
    网络课设总结(三)——VC++应用技巧
    ubuntu11.10下配置adsl上网
    反省
    cp命令“d”参数解释及实例
    网络课设总结(二)——VC开发环境
    SharePoint中如何获得当前用户的loginName
  • 原文地址:https://www.cnblogs.com/persist-confident/p/4482885.html
Copyright © 2011-2022 走看看