美文网首页
MPAndroidChart3.0关键属性的讲解

MPAndroidChart3.0关键属性的讲解

作者: 你的益达233 | 来源:发表于2020-07-20 21:15 被阅读0次

    图表MPAndroidChart3.0

    一、继承配置

    1.在项目的build.gradle中的allprojects配置如下

    allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
    }
    

    2.在app的build.gradle中dependencies添加依赖

    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    

    二、图表整体的配置

    下面以LineChart控件为例
    1.是否显示图表的描述:
    mLineChart.getDescription.setEnabled(false)
    2.是否能够拖拽:
    mLineChart.setDragEnabled(false)
    3.是否能够缩放
    mLineChart.setScaleEnabled(false)
    4.无数据时显示的文案:
    mLineChart.setNoDataText("暂无数据")
    5.绘线动画时间:
    mLineChart.animateXY(2000, 2000)
    6.是否显示边界:
    mLineChart.setDrawBorders(false)
    还有些不常见的,真有需要再点点看或者查官方文档

    三、XAxis(X轴)

    1.获取X轴
    XAxis xAxis = mLineChart.getXAxis();
    2.设置X轴的位置
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    3.设置X轴最小值
    xAxis.setAxisMinimum(0f);
    4.设置X轴最大值
    xAxis.setAxisMaximum(20f);
    设置了3.4.之后,x轴会根据设置的刻度数量自动分配刻度显示。
    但一般都是由个人指定X轴的值显示什么的
    5.自定义设置X轴的值

    xAxis.setValueFormatter(new IAxisValueFormatter() {
    @Override
    public String getFormattedValue(float value, AxisBase axis) {
        return mList.get((int) value); //mList为存有你要的X轴值的集合
    }
    });  
    

    注:value也有可能不是0,1,2,3,而有可能是-0.5,0.5909091,1.6818182等等。如果不是你想要的,记得去换算,或者你设置得有问题
    比如说你设置了xAxis.setCenterAxisLabels

    for (int i = 0; i < 12; i++) {
    entries.add(new Entry(i, "hello world");
    }  
    

    6.设置X轴显示多少个
    xAxis.setLabelCount(12, true); true为强制显示12个,如果不是可以少于12个,但不能大于12个

    四、YAxis(Y轴)

    1.获取Y轴
    YAxis leftYAxis = mLineChart.getAxisLeft();
    YAxis rightYAxis = mLineChart.getAxisRight();
    2.隐藏Y轴
    rightYAxis.setEnabled(false); //右侧Y轴不显示
    3.设置Y轴值
    leftYAxis.setAxisMinimum(0f);
    leftYAxis.setAxisMaximum(100f);
    或者
    这个可以设置你要的值,但一般Y轴设置最大值和最小值即可,由它自由分配刻度

    leftYAxis.setValueFormatter(new IAxisValueFormatter() {
    @Override
    public String getFormattedValue(float value, AxisBase axis) {
        return (int) value + "%";
    }
    });
    

    其他的一些属性和X轴一样

    五、图例

    1.获取图例
    Legend legend = mLineChart.getLegend()
    2.设置标签是否换行(标签过多时)
    legend.setWordWrapEnabled(true);

    六、设置数据

    //设置数据
    List<Entry> entries = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
    entries.add(new Entry(i, xxx);
    }
    //一个LineDataSet就是一条线
    LineDataSet lineDataSet = new LineDataSet(entries, "示例");
    LineData data = new LineData(lineDataSet);
    mLineChart.setData(data);
    

    上面的xxx就是一点点的数值

    相关文章

      网友评论

          本文标题:MPAndroidChart3.0关键属性的讲解

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