Линейчатая диаграмма MPCharts X помечена и не может прокручиваться - PullRequest
0 голосов
/ 26 апреля 2018

Я делаю диаграмму, как показано в коде ниже. Однако метки «12:00», «12:10», ... не отображаются на графике. Показывает только первый («12:00»).

Я столкнулся с другой проблемой. У меня есть две диаграммы на одной странице, и я не могу прокрутить страницу вниз, чтобы увидеть нижнюю диаграмму, которая показана только частично.

BarChart bchart = view.findViewById(R.id.barChart);
ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
yVals1.add(new BarEntry(0, 75));
yVals1.add(new BarEntry(10, 74));
yVals1.add(new BarEntry(20, 15));
yVals1.add(new BarEntry(30, 28));
yVals1.add(new BarEntry(40, 59));
yVals1.add(new BarEntry(50, 78));
yVals1.add(new BarEntry(60, 68));
yVals1.add(new BarEntry(70, 81));
yVals1.add(new BarEntry(80, 98));
yVals1.add(new BarEntry(90, 42));
yVals1.add(new BarEntry(100, 100));
BarDataSet set1;

//setting color
set1 = new BarDataSet(yVals1, "Satisfaction %");
set1.setColors(ColorTemplate.MATERIAL_COLORS);
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
dataSets.add(set1);


String [] values = {"12:00", "12:10", "12:20", "12:30", "12:40", "12:50", "13:00"};
bchart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(values));
//Removing description
Description description = new Description();
description.setText("");
bchart.setDescription(description);
//Removing right y axis labels
YAxis rightYAxis = bchart.getAxisRight();
rightYAxis.setEnabled(false);
//Removing grid background
bchart.setDrawGridBackground(false);
BarData data = new BarData(dataSets);
data.setValueTextSize(10f);
data.setBarWidth(5f);
bchart.setTouchEnabled(false);
bchart.getAxisRight().setDrawLabels(false);
bchart.getXAxis().setDrawLabels(true);
bchart.getLegend().setEnabled(false);
bchart.setData(data);

1 Ответ

0 голосов
/ 02 мая 2018

Для 1-й задачи следуйте следующему коду:

    ArrayList<String> labels = new ArrayList<String> ();

    labels.add( "12:00");
    labels.add( "12:10");
    labels.add( "12:20");
    labels.add( "12:30");
    labels.add( "12:40");
    labels.add( "12:50");

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

Для 2-й задачи вам нужно реализовать scrollview в вашем view.xml как родительское представление вашего макета, где вы создаете свои диаграммы.

...