Ich werde den Code vorerst darauf setzen (ich werde ihn später sauber schreiben)
List<String> labels = new ArrayList<>();
List<BarEntry> bar = new ArrayList<>();
List<Entry> line = new ArrayList<>();
Random random = new Random();
for (int i=0; i<10; i++) {
//Die Bezeichnung für die x-Achse lautet Liste<String>
labels.add(String.valueOf(i));
//Alle Daten sind Liste<BarEntry>, List<Entry>In usw. lagern.
// Entry(float value, int index)
//Ein Laufzeitfehler tritt auf, wenn ein Index angegeben wird, der länger als die Länge der Beschriftungen ist.
bar.add(new BarEntry((float)random.nextInt(10), i));
line.add(new Entry((float)random.nextInt(5)+3f, i));
}
//Liste der Einträge(List<Entry>)+ Name(String) => DataSet
//Liste der Etiketten(List<String>) + DataSet => Data
//Balkendiagramm
BarDataSet barDataSet = new BarDataSet(bar, "bar");
BarData barData = new BarData(labels, barDataSet);
//Liniendiagramm
LineDataSet lineDataSet = new LineDataSet(line, "line");
lineDataSet.setColor(Color.BLACK);
lineDataSet.setLineWidth(1.5f);
lineDataSet.setDrawCircles(false);
LineData lineData = new LineData(labels, lineDataSet);
lineData.setDrawValues(false);
//kombinieren
CombinedData data = new CombinedData(labels);
data.setData(lineData);
data.setData(barData);
chart.setData(data);
//Diagramm
CombinedChart chart = (CombinedChart)findViewById(R.id.combined_chart);
chart.setBackgroundColor(Color.WHITE);
chart.setDrawGridBackground(false);
chart.setDrawBarShadow(false);
chart.setTouchEnabled(true);
chart.setPinchZoom(false);
chart.setDoubleTapToZoomEnabled(false);
chart.setHighlightEnabled(false);
chart.setDescription("");
//x-Achseneinstellung
XAxis xAxis = chart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setDrawGridLines(false);
xAxis.setSpaceBetweenLabels(0);
//Einstellung der rechten y-Achse
chart.getAxisRight().setEnabled(false);
//Animation
chart.invalidate();
chart.animateY(2000, Easing.EasingOption.EaseInBack);
Recommended Posts