Диаграмма Mpandroid: как настроить прокручиваемый горизонтальный барчартAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Диаграмма Mpandroid: как настроить прокручиваемый горизонтальный барчарт

Сообщение Anonymous »

Я использую MpandroidChart для отображения горизонтальной стержней в портретном режиме с включенной вертикальной прокруткой. Вот мой текущий фрагмент кода: < /p>

Код: Выделить всё

Map genreData = new LinkedHashMap();
genreData.put("Pop", 19);
genreData.put("Hip-Hop", 19);
genreData.put("Rock", 19);
genreData.put("Dance", 21);
genreData.put("R&B", 21);

if (genreData != null && !genreData.isEmpty()) {
List sorted = new ArrayList(genreData.entrySet());
sorted.sort((a, b) -> Integer.compare(b.getValue(), a.getValue())); // Sort descending

String[] labels = new String[sorted.size()];
ArrayList entries = new ArrayList();
ArrayList barColors = new ArrayList();
float maxVal = 0f;

for (int i = 0; i < sorted.size(); i++) {
Map.Entry e = sorted.get(i);

int idx = sorted.size() - 1 - i;
labels[idx] = e.getKey();
entries.add(new BarEntry(idx, e.getValue()));
barColors.add(Color.BLUE);
maxVal = Math.max(maxVal, e.getValue());
}

BarDataSet set = new BarDataSet(entries, "Genre");
set.setColors(barColors);
set.setValueTextSize(10f);
set.setValueFormatter(new ValueFormatter() {
@Override
public String getBarLabel(BarEntry barEntry) {
return String.valueOf((int) barEntry.getY());
}
});

BarData data = new BarData(set);
data.setBarWidth(0.5f);

genreChart.setData(data);
genreChart.setFitBars(true);
genreChart.getDescription().setEnabled(false);
genreChart.getLegend().setEnabled(false);
genreChart.getAxisRight().setEnabled(false);

XAxis x = genreChart.getXAxis();
x.setValueFormatter(new IndexAxisValueFormatter(labels));
x.setPosition(XAxis.XAxisPosition.BOTTOM);
x.setDrawGridLines(false);
x.setGranularity(1f);
x.setLabelCount(labels.length);
x.setTextSize(12f);

genreChart.getAxisLeft().setAxisMinimum(0f);
genreChart.getAxisLeft().setAxisMaximum(maxVal + 5f);

genreChart.setVisibleXRangeMaximum(3f);
genreChart.setDragEnabled(true);
genreChart.setPinchZoom(false);
genreChart.setScaleXEnabled(false);
genreChart.setScaleYEnabled(false);

genreChart.moveViewToX(0);

genreChart.animateY(800);
genreChart.invalidate();
}
< /code>
и мой макет XML: < /p>

< /code>
Проблемы, с которыми я сталкиваюсь: < /p>

  Список элемента Начальник. Когда я прокручиваю обратно. genrechart.setvisiblexrangemaximum (3f); 
, когда это установлено на число меньше, чем количество данных, возникают упомянутые странные 2 вопроса. При настройке, например, в genrechart.setvisiblexrangemaximum (5f); проблемы не возникают. Тем не менее для меня это проблема, так как я не могу отображать все данные, и я хочу иметь прокручиваемый Барчарт. Как я могу это сделать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... l-barchart
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»