MPAndroid学习笔记

Android Chart框架 MPAndroidChart学习

2017-02-16  本文已影响1539人  Ugly_K

Android Chart框架 MPAndroidChart学习笔记3_坐标轴设置


点击这里查看项目源码

1.轴线的绘制

设置轴线就先必须取得轴线类Axis
在一个图标中有三个轴线:

其对应轴线之设计方法如下:

    /* @描述 轴线的绘制 */
    private void drawAxis(AxisBase mAxis){
        //设置是否启用轴线:如果关闭那么就默认没有轴线/标签/网格线
        mAxis.setEnabled(true);
        //设置是否开启绘制轴的标签
        mAxis.setDrawLabels(true);
        //是否绘制轴线
        mAxis.setDrawAxisLine(true);
        //是否绘制网格线
        mAxis.setDrawGridLines(true);
    }

2.自定义轴的范围

对于xy轴多数方法是针对y轴

    /* @描述 自定义轴的范围 */
    private void customizeRange(YAxis mAxis){
        //设置坐标轴最大值:如果设置那么轴不会根据传入数据自动设置
        mAxis.setAxisMaximum(10f);
        //重置已经设置的最大值,自动匹配最大值
        mAxis.resetAxisMaximum();
        //设置坐标轴最小值:如果设置那么轴不会根据传入数据自动设置
        mAxis.setAxisMinimum(5f);
        //重置已经设置的最小值,自动匹配最小值
        mAxis.resetAxisMinimum();
        //将图表中最高值的顶部间距(占总轴范围的百分比)与轴上的最高值相比较。
        mAxis.setSpaceMax(10);
        //将图表中最低值的底部间距(占总轴范围的百分比)与轴上的最低值相比较。
        mAxis.setSpaceMin(10);
        //设置标签个数以及是否精确(false为模糊,true为精确)
        mAxis.setLabelCount(20,false);
        //如果设置为true,此轴将被反转,这意味着最高值将在底部,最低的顶部值。
        mAxis.setInverted(true);
        //设置轴标签应绘制的位置。无论是inside_chart或outside_chart。
        mAxis.setPosition(OUTSIDE_CHART);
        //如果设置为true那么下面方法设置最小间隔生效,默认为false
        mAxis.setGranularityEnabled(true);
        //设置Y轴的值之间的最小间隔。这可以用来避免价值复制当放大到一个地步,小数设置轴不再数允许区分两轴线之间的值。
        mAxis.setGranularity(10f);
    }

3.调整轴的造型

    /* @描述 调整轴的造型 */
    private void modifyingAxis(AxisBase mAxis){
        //设置坐标轴标签文字颜色
        mAxis.setTextColor(Color.GREEN);
        //设置坐标轴标签文字大小
        mAxis.setTextSize(10f);
        //设置坐标轴标签文字样式
        mAxis.setTypeface(Typeface.DEFAULT_BOLD);
        //设置此轴网格线颜色
        mAxis.setGridColor(Color.RED);
        //设置此轴网格线宽度
        mAxis.setGridLineWidth(0.5f);
        //设置坐标轴的颜色
        mAxis.setAxisLineColor(Color.RED);
        //设置坐标轴的宽度
        mAxis.setAxisLineWidth(1f);
        //使用虚线组成的网格线
        //参数:linelength:虚线长度
        // spacelength:虚线间隔长度
        // phase:虚线出发点(从第一根虚线的哪里出发)
        mAxis.enableGridDashedLine(40f,2f,20f);
    }

4.设置一个限制的辅助线

    //设置一个限制的线
    private void addLimitLine(AxisBase mAxis){
        LimitLine ll = new LimitLine(10f, "Critical Blood Pressure");
        ll.setLineColor(Color.RED);
        ll.setLineWidth(4f);
        ll.setTextColor(Color.BLACK);
        ll.setTextSize(12f);
        mAxis.addLimitLine(ll);
    }
上一篇下一篇

猜你喜欢

热点阅读