美文网首页
MPAndroidChart详解

MPAndroidChart详解

作者: quanCN | 来源:发表于2019-05-08 10:34 被阅读0次

    简介

    MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。
    官方github
    官方文档

    基本使用

    • 创建视图
      两种方式
      1. .xml中定义它
      <com.github.mikephil.charting.charts.LineChart
          android:id="@+id/chart"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />
      
      1. java代码动态创建,并将声明的对象放到视图中
      LineChart chart = new LineChart(Context);
      
    • 添加数据
      想要给图表设置数据,必须通过setData()方法
      public void setData (ChartData data ){ ... }   
      
      ChartData类里面封装了呈现期间所需图表的所有数据和信息,使用每一种图表需要使用其对应的子类
      例如:LineChart对应LineData
      这时你会看到构造函数有以下方法,同时LineData也有addDataSet()方法
      public LineData(List<LineDataSet> sets) { ... }
      public LineData(LineDataSet...) { ... }
      
      一个DataSet对象表示当前Chart的一种类型数据,它可以将Chart中加入不同的类型,其允许特定样式。
      例如:一个折线图,可能不光有当天的温度和湿度变化,还有前几天的变化
      LineDataSet构造函数如下
      public LineDataSet (List <Entry> entries,String label ){ ... }  
      
      List类型的Entry封装了图表的所有值,要向图表添加数据,需要将每个数据对象包装到Entry对象,Entry类表示单个数据
      注意:mpAndroidChart不同版本有一定差异,方法参数会有一定的差异,总体思路基本一致,注意看方法的参数,和异常信息!!!
    • 更新视图
      使用invalidate()方法刷新数据
      如果是动态添加数据需要notify
      lineDataSet.notifyDataSetChanged();
      lineData.notifyDataChanged();
      lineChart.notifyDataSetChanged();
      lineChart.invalidate();
      

    手势交互

    • setTouchEnabled(boolean enabled):允许启用/禁用与图表的所有可能的触摸交互
    • setDragEnabled(boolean enabled):启用/禁用图表的拖动(平移)
    • setScaleEnabled(boolean enabled):启用/禁用两个轴上的图表缩放
    • setScaleXEnabled(boolean enabled):启用/禁用x轴缩放
    • setScaleYEnabled(boolean enabled):启用/禁用y轴缩放
    • setPinchZoom(boolean enabled):如果设置为true,则启用缩放缩放。如果禁用,则可以单独缩放x轴和y轴
    • setDoubleTapToZoomEnabled(boolean enabled):将此设置为false以禁止通过双击来缩放图表

    颜色设置

    • 通过DataSet对象的setColor()setColors()设置颜色,也可选择已经提供好的颜色集颜色集合在ColorTemplate类中

      barDataSet.setColors(ColorTemplate.JOYFUL_COLORS);
      

    相关文章

      网友评论

          本文标题:MPAndroidChart详解

          本文链接:https://www.haomeiwen.com/subject/lzopoqtx.html