Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Programm zum Zeichnen eines Histogramms mit Turtle

Python-Programm zum Zeichnen eines Histogramms mit Turtle

王林
王林nach vorne
2023-08-20 16:57:18724Durchsuche

Grafische Darstellungen von Daten ermöglichen ein besseres Verständnis der komplexen Unterstruktur der Daten und helfen uns, verborgene Muster und Trends leicht zu interpretieren. Stellen Sie sich vor, wie praktisch es wäre, wenn wir ähnliche Beziehungen programmgesteuert zeichnen könnten? Python bietet ein umfangreiches Modul, das speziell für die Durchführung solcher Operationen entwickelt wurde. Es heißt „turtle“.

Das „Turtle“-Modul ist eine in Python integrierte Bibliothek, die es uns ermöglicht, Grafiken auf dem „Turtle-Grafikbildschirm“ zu zeichnen. In diesem Artikel erstellen wir ein Balkendiagramm mit dem Turtle-Modul.

Das Turtle-Modul verstehen

Das Schildkrötenmodul verwendet ein virtuelles Schildkrötenobjekt, um Grafiken zu erstellen. Mit diesem Modul sind verschiedene Funktionen verbunden, die es diesem Schildkrötenobjekt ermöglichen, sich auf dem Bildschirm zu bewegen und darüber zu zeichnen.

Turtle-Funktion zum Erstellen von Balkendiagrammen

  • Turtle() Diese Funktion erstellt ein neues Turtle-Objekt.

  • fillcolor() Diese Funktion setzt die Farbe der Schildkröte auf die Farbe des Füllbalkens.

  • begin_fill() Diese Funktion startet den Füllvorgang und merkt sich den Startpunkt.

  • left() Diese Funktion bewirkt, dass sich die Schildkröte um 90 Grad nach links dreht.

  • right() Diese Funktion bewirkt, dass sich die Schildkröte um 90 Grad nach rechts dreht.

  • forward() Diese Funktion bewegt die Schildkröte um die angegebene Einheit vorwärts.

  • write() Diese Funktion schreibt eine Zeichenfolge (Höhenwert) in das Histogramm.

  • end_fill() Diese Funktion schließt die Grafik und stoppt den Füllvorgang.

Alle diese Funktionen zusammen ergeben ein Balkendiagramm, aber wir müssen ein geeignetes Programm vorbereiten, damit diese Funktionen als Ganzes funktionieren. Nachdem wir nun den Mechanismus verstanden haben, zeichnen wir ein Balkendiagramm.

Balkendiagramm zeichnen

Das Turtle-Modul ist von der Programmiersprache LOGO inspiriert und ermöglicht Benutzern das Erstellen von Formen auf einem virtuellen Bildschirm. Um das Balkendiagramm zu zeichnen, müssen wir die Schildkröte in die untere linke Ecke des Bildschirms setzen. Standardmäßig befindet sich die Schildkröte am Mittelpunkt (0,0), wir können diese Koordinaten jedoch mit der Methode „setworldcoordinates()“ ändern. Diese Methode ermöglicht es dem Benutzer, das Fenster neu zu skalieren und es an die Daten anzupassen. Es werden vier Koordinaten benötigt −

Die

    Koordinaten sind die X- und Y-Achsen der
  • unteren linken Ecke und der unteren rechten Ecke

    .

  • Die X- und Y-Achsenkoordinaten der oberen linken und oberen rechten Ecke.
  • Diese Methode fungiert als Reset-Tool, um die Koordinaten entsprechend der Datengröße anzupassen. Wir legen diese Koordinaten anhand des maximalen Histogrammhöhenwerts und des Gesamtraumwerts fest.
Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das Folgende ist die Umsetzung der oben besprochenen Konzepte.

    Wir erstellen eine Funktion, die ein „Schildkrötenobjekt“, eine „Balkenhöhe“ und eine „Balkenfarbe“ als Parameter akzeptiert. Anschließend schreiben wir Funktionen zum Plotten von Balken mit unterschiedlichen Höhen und Farben.
  • Die verschiedenen Höhen- und Farbwerte werden in Form einer Liste übergeben und wir rufen die Funktion für jeden Wert durch
  • iterieren

    auf.

  • Abschließend verwenden wir das Schildkrötenobjekt, um einen Pinsel zu erstellen und den Zeichenvorgang zu starten. Sobald die Zeichnung abgeschlossen ist, schließen wir die Turtle-Instanz. Der Schildkröten-Grafikbildschirm wird über die Methode „Screen()“ erstellt.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

import turtle

def BarGraph(turtleOBJ, Bar_height, Bar_color):
   turtleOBJ.fillcolor(Bar_color)
   turtleOBJ.begin_fill()
   turtleOBJ.left(90)
   turtleOBJ.forward(Bar_height)
   turtleOBJ.write(str(Bar_height))
   turtleOBJ.right(90)
   turtleOBJ.forward(80)
   turtleOBJ.right(90)
   turtleOBJ.forward(Bar_height)
   turtleOBJ.left(90)

   turtleOBJ.end_fill()

Bar_heights = [23, 94, 42, 150, 200, 56, 240,40]
Bar_color = ["orange", "purple", "green", "red", "black", "grey", "white", "violet"]

maxBarVal = max(Bar_heights)
Graph_Range = len(Bar_heights)
Space = 20

screen = turtle.Screen()
screen.setworldcoordinates(0 - Space, 0 - Space, 50 * Space, maxBarVal + Space)
screen.bgcolor("Brown")

turtleOBJ = turtle.Turtle()
turtleOBJ.pensize(3)

for bar in range(len(Bar_heights)):
   BarGraph(turtleOBJ, Bar_heights[bar], Bar_color[bar])
screen.exitonclick()

Ausgabe

Python-Programm zum Zeichnen eines Histogramms mit Turtle

Andere Erkenntnisse

Wir können diesem Balkendiagramm einen Rahmen hinzufügen und den Maßstab der X- und Y-Achse entwerfen. Das Turtle-Modul dient ausschließlich der Erstellung von Diagrammen basierend auf den uns vorliegenden Daten. Für statistische Schätzungen können wir sie nicht verwenden. Obwohl es mit anderen leistungsstarken Python-Bibliotheken wie „NumPy“ und „Pandas“ verwendet werden kann, bietet es ihnen Statistik- und Visualisierungsfunktionen. Für tiefergehende und präzisere Schätzungen nutzen wir die Bibliothek „matplotlib“.

Fazit

In diesem Artikel wird die Mechanik des Schildkrötenmoduls erläutert und wie man damit ein Histogramm erstellt. Wir haben verschiedene Funktionen und Parameter besprochen, die zum programmgesteuerten Generieren von Histogrammen auf dem Schildkröten-Grafikbildschirm verwendet werden können. Die im Programm verwendeten Werte basieren auf den Daten, die wir visualisieren möchten und können nicht weiter statistisch interpretiert werden.

Das obige ist der detaillierte Inhalt vonPython-Programm zum Zeichnen eines Histogramms mit Turtle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen