[JAVA] Zeichnen Sie mit MPAndroidChart gleichzeitig Balkendiagramm und Liniendiagramm

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

Zeichnen Sie mit MPAndroidChart gleichzeitig Balkendiagramm und Liniendiagramm
Zeichnen Sie Diagramme mit Sinatra und Chartkick
So löschen Sie untergeordnete Elemente, die gleichzeitig einem übergeordneten Element zugeordnet sind
Überprüfen Sie das aktuelle Datum und die Uhrzeit beim Analysieren mit Javas SimpleDateFormat
Als ich mit MPAndroidChart ein Balkendiagramm erstellt habe, war die Beschriftung der x-Achse aus irgendeinem Grund falsch ausgerichtet
Erstellen eines einfachen Balkendiagramms mit MPAndroidChart
[Spring Boot] Poste Dateien und andere Daten gleichzeitig [Axios]
[Ruby] Definieren Sie die Hierarchie gleichzeitig mit der Initialisierung von Hash mit der Tap-Methode
Verhalten beim gleichzeitigen Hinzufügen von RadioButton und Erstprüfung im Code festgestellt
[Arbeitsnotiz für persönliche Anwendungen] Anzeigen von Balkendiagrammen und Liniendiagrammen in einem Diagramm
[Java] Fehler beim Methodenaufruf, wenn Vererbung und Schnittstellenimplementierung gleichzeitig ausgeführt werden
Implementierungsmethode zum Verknüpfen mehrerer Bilder mit einem Beitrag und zum gleichzeitigen Posten
Stellen Sie Datum und Uhrzeit aus der Zeichenfolge mit POI ein
Warum einen Zeilenumbruch am Ende der Datei einfügen?
Mit der Software, die ich schon lange mache ...
Erstmaliges Modellieren von Digimon mit DDD Teil 1
[Rails] Erhalten Sie access_token zum Zeitpunkt der Twitter-Authentifizierung mit Sorcery und speichern Sie es in der Datenbank
Erstellen Sie mit Raspberry Pi und Docker Compose im Handumdrehen ein NAS mit DLNA-Funktion
Ich habe versucht, die Ergebnisse vor und nach der Date-Klasse mit einer geraden Zahl auszudrücken
Starten Sie webpack-dev-server und docker-compose gleichzeitig auf dem Windows-Terminal und zeigen Sie sie in einem anderen Bereich an
Stellen Sie die Sensorinformationen von Raspberry Pi in Java grafisch dar und überprüfen Sie sie mit einem Webbrowser
Ungefähr der gleiche und der gleiche Wert
Logik zum Zeichnen eines Kreises auf der Konsole mit ASCII-Grafik
Lock_version kann für Tabellen verwendet werden, die dazu neigen, gleichzeitig auf denselben Datensatz zuzugreifen und ihn zu bearbeiten
Herunterladen und Ausführen des Jar-Pakets direkt aus dem Maven-Repository mit nur der Befehlszeile