• 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    体检前注意事项
    SSO之CAS单点登录详细搭建教程
    如何通过session控制单点登录
    谈谈防止Ajax重复点击提交
    js判断是移动端还是pc端
    HttpClient通过GET和POST获取网页内容
    HttpClient 4.x 执行网站登录并抓取网页的代码
    360每日自动签到,领取积分 (java httpclient4.x)
    Java @override报错的解决方法
    无开发经验,初学python
  • 原文地址:https://www.cnblogs.com/persist-confident/p/4482885.html
Copyright © 2020-2023  润新知