[JAVA] Erstellen eines einfachen Balkendiagramms mit MPAndroidChart

einpacken

Wenn Sie mit MPAndroidChart ein einfaches Diagramm erstellen möchten, Im Gegenteil, es war aufgrund der umfangreichen Funktionen schwierig, ein einfaches Diagramm zu erstellen. Es wurde zu Version 3.0.2 und unterschied sich ein wenig von der vorherigen Version (z. B. die Anzeige der x-Achsenbeschriftung ...).

Was ich machen wollte

Ich wollte ein einfaches Balkendiagramm wie dieses erstellen. Screenshot (2017%2F09%2F08 午前10-18-41).png

Besonders schwer zu verstehen

・ Beschriftung auf der x-Achse anzeigen ・ Stellen Sie für jedes Diagramm eine beliebige Farbe ein

Weise

public class MainActivity extends AppCompatActivity {

    protected BarChart chart;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        chart = (BarChart) findViewById(R.id.chart1);

        //Datenerfassung anzeigen
        BarData data = new BarData(getBarData());
        chart.setData(data);

        //Y-Achse(links)
        YAxis left = chart.getAxisLeft();
        left.setAxisMinimum(0);
        left.setAxisMaximum(100);
        left.setLabelCount(5);
        left.setDrawTopYLabelEntry(true);
        //In der Ganzzahlanzeige
        left.setValueFormatter(new IAxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, AxisBase axis) {
                return "" + (int)value;
            }
        });

        //Y-Achse(richtig)
        YAxis right = chart.getAxisRight();
        right.setDrawLabels(false);
        right.setDrawGridLines(false);
        right.setDrawZeroLine(true);
        right.setDrawTopYLabelEntry(true);

        //X-Achse
        XAxis xAxis = chart.getXAxis();
        //Liste der Beschriftungen, die auf der X-Achse angezeigt werden sollen(Der Erste""Ist die Position des Ursprungs)
        final String[] labels = {"","Landessprache", "Mathematik", "Englisch"};
                xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));
        XAxis bottomAxis = chart.getXAxis();
        bottomAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        bottomAxis.setDrawLabels(true);
        bottomAxis.setDrawGridLines(false);
        bottomAxis.setDrawAxisLine(true);

        //Anzeige in der Grafik
        chart.setDrawValueAboveBar(true);
        chart.getDescription().setEnabled(false);
        chart.setClickable(false);

        //Gebrauchsanweisung
        chart.getLegend().setEnabled(false);

        chart.setScaleEnabled(false);
        //Animation
        chart.animateY(1200, Easing.EasingOption.Linear);
    }

    //Balkendiagrammdaten abrufen
    private List<IBarDataSet> getBarData(){
                //Daten, die angezeigt werden sollen
        ArrayList<BarEntry> entries = new ArrayList<>();
        entries.add(new BarEntry(1, 60));
        entries.add(new BarEntry(2, 80));
        entries.add(new BarEntry(3, 70));
        List<IBarDataSet> bars = new ArrayList<>();
        BarDataSet dataSet = new BarDataSet(entries, "bar");

        //Anzeige als Ganzzahl
        dataSet.setValueFormatter(new IValueFormatter() {
            @Override
            public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
                return "" + (int) value;
            }
        });
        //Nicht hervorheben
        dataSet.setHighlightEnabled(false);

        //Stellen Sie die Farbe der Leiste ein
        dataSet.setColors(new int[]{R.color.material_blue, R.color.material_green, R.color.material_yellow}, this);
        bars.add(dataSet);

        return bars;
    }

}

Um eine Beschriftung auf der x-Achse anzuzeigen, müssen Sie den auf der x-Achse der Daten angezeigten numerischen Wert in eine Beschriftung umwandeln. Eine beliebige Farbeinstellung für jedes Diagramm kann ausgeführt werden, indem die Farbliste in der Datenliste festgelegt wird. Darüber hinaus können Sie standardmäßig vergrößern und verkleinern, zum Hervorheben auf tippen usw. Ich musste ziemlich viel tun, um es anzupassen, weil es viele Skalen gab.

Referenz Beschriftung auf der x-Achse (https://github.com/PhilJay/MPAndroidChart/issues/2044) Farbe für jedes Diagramm (https://stackoverflow.com/questions/38872181/mpandroidchart-bar-chart-how-to-change-color-of-each-label)

Recommended Posts

Erstellen eines einfachen Balkendiagramms mit MPAndroidChart
Erstellen Sie mit Dropwizard eine einfache Webanwendung
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
Erstellen Sie mit Spring Boot eine einfache Such-App
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
Erstellen Sie einen Spielplatz mit Xcode 12
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie Ausnahmen mit einer Fluid-Schnittstelle
Erstellen Sie ein Maven-Projekt mit Befehlen
Erstellen Sie einen einfachen Webserver mit der Java-Standardbibliothek com.sun.net.httpserver
Erstellen Sie eine einfache CRUD mit SpringBoot + JPA + Thymeleaf ④ ~ Fehlermeldung anpassen ~
Erstellen Sie mit dem Befehl eine JAR-Datei
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
Erstellen Sie eine temporäre Klasse mit new Object () {}
[Docker] [Nginx] Erstellen Sie mit Nginx eine einfache ALB
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
Erstellen Sie eine einfache CRUD mit SpringBoot + JPA + Thymeleaf ② ~ Bildschirm- und Funktionserstellung ~
Zeichnen Sie mit MPAndroidChart gleichzeitig Balkendiagramm und Liniendiagramm
[Ruby on Rails] Erstellen Sie mit Chartick ein kreisförmiges Diagramm der Summen nach Spalten
Erstellen Sie einen einfachen Gateway-Server, indem Sie die Maskerade mit der Firewall-cmd von CentOS8 festlegen
[Memo] Erstellen Sie mit Docker ganz einfach eine CentOS 8-Umgebung
Erstellen Sie eine CSR mit erweiterten Informationen in Java
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Erstellen Sie in Eclipse ein einfaches Stapelverarbeitungsframework.
[Java] Erstellen Sie eine Sammlung mit nur einem Element
Erstellen Sie einen Team-Chat mit Rails Action Cable
Erstellen Sie ein SandBox-Konto mit Fastlane Spaces IP
Erstellen Sie eine Mehrschlüsselkarte mit einer Standardbibliothek
Zeigen Sie eine einfache Hallo Welt mit SpringBoot + IntelliJ
Ein einfaches Stein-Papier-Scheren-Spiel mit JavaFX und SceneBuilder
Erstellen Sie einen Web-API-Server mit Spring Boot
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie ein Docker-Image, um eine einfache Java-App auszuführen
Üben Sie das Erstellen einer einfachen Chat-App mit Docker + Sinatra
Erstellen einer EC-Site mit Rails 5 ⑨ ~ Erstellen einer Warenkorbfunktion ~
Erstellen Sie eine Vorlage für das iOS14-Widget mit Absichtskonfiguration.
Erstellen Sie eine Chat-App mit WebSocket (Tyrus) + libGDX + Kotlin
Implementieren Sie eine einfache Rest-API mit Spring Security mit Spring Boot 2.0
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
Erstellen Sie einen Service mit einem leeren Modell Liferay 7.0 / DXP
Versuchen Sie es mit Trailblazer
[Java] Erstellen Sie einen Filter
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
Erstellen Sie ein Seitensteuerelement, das mit RecyclerView verwendet werden kann
Erstellen Sie ein Docker-Image mit installiertem Oracle JDK (yum
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Erstellen Sie mit SpringBoot + JPA + Thymeleaf ein einfaches CRUD ~ ~ Hallo Welt ~
Erstellen Sie eine Hello World-Webanwendung mit Spring Framework + Jetty