Как настроить метки диаграмм для библиотеки mpandroidchart - PullRequest
0 голосов
/ 05 июня 2018

Я использую библиотеку mpandroidchart для своего графика, в котором я показываю данные дня за неделю, всего 7 дней.

Для каждогодень, я хочу, чтобы метка была названием дня (воскресенье, понедельник, вторник, ...).Однако метки указаны в числах (0, 1, 2, ...).

Как настроить метки для отображения строк, а не целых чисел?

Ответы [ 3 ]

0 голосов
/ 06 июня 2018

Для этого вы можете использовать собственный Formatter. Все, что вам нужно сделать, это создать один класс и установить ось

XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new DayFormatter());

Пользовательский класс для Formatter

public class DayFormatter implements IAxisValueFormatter {

@Override
public String getFormattedValue(float value, AxisBase axis) {
    return getDay((int) value);
}

String getDay(int day) {
    switch (day) {
        case 1:
            return "Monday";
        default:
            return "";
    }
}}
0 голосов
/ 06 июня 2018

Вы можете сделать это следующим образом.

 // creating data values
    ArrayList<Entry> entries = new ArrayList<>();
    entries.add(new Entry(30f, 0));
    entries.add(new Entry(12f, 1));
    entries.add(new Entry(12f, 2));

    // creating labels
    ArrayList<String> labels = new ArrayList<>();
    labels.add("Disability");
    labels.add("Environment");
    labels.add("Food and Farming");
//        Colors
    Integer[] colors = new Integer[]{Color.GREEN, Color.YELLOW, Color.RED};
    //Set entries in PieDataSet
    PieDataSet pieDataSet = new PieDataSet(entries, "");
    pieDataSet.setDrawValues(false);
    pieDataSet.setColors(Arrays.asList(colors));
//        pieDataSet.setColors(ColorTemplate.COLORFUL_COLORS); // set the color
//        Set Data in PieData and PieChart
    PieData data = new PieData(labels, pieDataSet); // initialize PieData
    pieChartSupport.setCenterText(getString(R.string.chart_center_text));
    pieChartSupport.setData(data);
    pieChartSupport.setHoleRadius(80);
    pieChartSupport.setDrawSliceText(false);
    pieChartSupport.setDescription(getString(R.string.supports));
    pieChartSupport.setDrawSliceText(false);

Вот как вы можете добавлять дни в PieChart, предоставляемые библиотекой MPAndroidChart.

0 голосов
/ 06 июня 2018

Используйте версию, большую или равную 3.0.1 библиотеки, и добавьте следующие строки в ваш код:

XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(getXAxisValues()));

Создайте также следующий метод:

private ArrayList<String> getXAxisValues()
{
    ArrayList<String> labels = new ArrayList<String> ();

    labels.add( "SUN");
    labels.add( "MON");
    labels.add( "TUE");
    labels.add( "WED");
    labels.add( "THU");
    labels.add( "FRI");
    labels.add( "SAT");
    return labels;
}
...