mpchart 如何对y轴取整及对y轴上对应显示的数据取整数

1 y轴取整 ,如下图

y轴显示小数

####解决方法

 YAxis leftAxis = mChart.getAxisLeft();
   leftAxis.setValueFormatter(new IAxisValueFormatter() {
            @Override
	        public String getFormattedValue(float value,    AxisBase axis) {
                return (int) value + "";
            }
        });

y 轴对应显示的值取整

y 轴对应显示的值为小数

解决办法

data.setValueFormatter(new MonthlyIntegerYValueFormatter());

  LineDataSet set1;
        if (valueList != null && mChart != null) {
            mChart.getXAxis().setLabelCount(valueList.size(), true);
        }
        if (mChart.getData() != null &&
                mChart.getData().getDataSetCount() > 0) {
            set1 = (LineDataSet) mChart.getData().getDataSetByIndex(0);
            set1.setValues(valueList);
            mChart.getData().notifyDataChanged();
            mChart.notifyDataSetChanged();
        } else {
            // create a dataset and give it a type
            set1 = new LineDataSet(valueList, "DataSet 1");
            set1.setMode(LineDataSet.Mode.LINEAR);
            set1.setAxisDependency(YAxis.AxisDependency.LEFT);
            set1.setColor(chartColor);
            set1.setDrawValues(true);
            set1.setDrawCircleHole(false);
            set1.setDrawCircles(true);
            set1.setCircleColor(chartColor);
            set1.setValueTextSize(9f);
            set1.setDrawFilled(false);
            set1.setCircleRadius(4f);
            set1.setLineWidth(3f);
            set1.setFillAlpha(255);
//            if (Utils.getSDKInt() >= 18) {
//                // fill drawable only supported on api level 18 and above
//                Drawable drawable = ContextCompat.getDrawable(getActivity(), R.drawable.fade_blue);
//                set1.setFillDrawable(drawable);
//            } else {
//                set1.setFillColor(getResources().getColor(R.color.color_main_blue));
//            }
            set1.setHighLightColor(Color.TRANSPARENT);//设置高亮色

            ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
            dataSets.add(set1); // add the datasets
            // create a data object with the datasets
            LineData data = new LineData(dataSets);
            //此为y轴数值取整关键步骤
            data.setValueFormatter(new MonthlyIntegerYValueFormatter());
            // set data
            mChart.setData(data);
        }
MonthlyIntegerYValueFormatter 源码

public class MonthlyIntegerYValueFormatter implements IValueFormatter {
    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
        return (int) (value) + "";
    }
}

以上就是mpchart作图中遇到的坑,希望大家有用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值