Как убрать десятичные дроби сверху бара в android - PullRequest
0 голосов
/ 16 апреля 2020

Привет в приведенном ниже коде хотите изменить значения левого yaxis хотите отображать умножения на 2 и хотите отображать число интергера над строкой выше.

Может ли кто-нибудь помочь мне

From the below graph how to change float to integer number from above of the graph

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);
        }
    }

1 Ответ

0 голосов
/ 16 апреля 2020

Для этого вам нужно создать отдельный 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...