Код: Выделить всё
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); Подробнее здесь: https://stackoverflow.com/questions/797 ... l-barchart
Мобильная версия