首页 > 解决方案 > 如何从android中的栏上方删除小数

问题描述

嗨,在下面的代码中想要更改左侧 yaxis 值想要显示 2 的倍数并想要在条形上方显示整数。

谁能帮我

从下图中如何从图的上方将浮点数更改为整数

private void setData_chart(int count, float range) {

        float barWidth = 0.9f;
        ArrayList<BarEntry> values = new ArrayList<>();

        for (int i = 0; i < count; i++) {
            float val = Math.round((float) (Math.random() * range));
            values.add(new BarEntry(i, val,
                    getResources().getDrawable(R.drawable.ic_launcher)));
        }

        BarDataSet set1;
        if (chart1.getData() != null &&
                chart1.getData().getDataSetCount() > 0) {
            set1 = (BarDataSet) chart1.getData().getDataSetByIndex(0);
            set1.setValues(values);
            chart1.getData().notifyDataChanged();
            chart1.notifyDataSetChanged();
        }
        else {
            set1 = new BarDataSet(values, "");

            int endColor1 = ContextCompat.getColor(getContext(), R.color.linecolor);


            set1.setColors(endColor1);
            set1.setDrawIcons(false);

            dataSets = new ArrayList<>();
            dataSets.add(set1);

            BarData data = new BarData(dataSets);
            data.setValueTextSize(12f);
            data.setValueTypeface(tfLight);
            data.setBarWidth(barWidth);
            chart1.setData(data);
        }
    }

标签: androidbar-chartmpandroidchart

解决方案


为此,您必须创建单独ValueFormatter的并将其绑定到您的图表数据。

public class MyDecimalValueFormatter implements ValueFormatter {

        private DecimalFormat mFormat;

        public MyDecimalValueFormatter() {
            mFormat = new DecimalFormat("#");
        }

        @Override
        public String getFormattedValue(float value) {
            return mFormat.format(value);
        }
    }

并将其设置如下

MyDecimalValueFormatter formatter = new MyDecimalValueFormatter();

    BarData data = new BarData(dataSets);
    data.setValueTextSize(12f);
    data.setValueTypeface(tfLight);
    data.setBarWidth(barWidth);
    data.setValueFormatter(formatter)
    chart1.setData(data);

推荐阅读