Heim  >  Artikel  >  Backend-Entwicklung  >  Zeichnen Sie Zeichen in Text mit Python und Matplotlib

Zeichnen Sie Zeichen in Text mit Python und Matplotlib

王林
王林nach vorne
2023-04-29 19:31:05879Durchsuche

Der Zweck dieses Artikels besteht darin, Ihnen den Einstieg in die Darstellung von Daten in Python zu erleichtern. Wir erstellen ein Balkendiagramm, um die Häufigkeit von Zeichen in einer bestimmten Textdatei darzustellen. In diesem Fall enthält die Textdatei Inhalte aus „Der große Gatsby“.

使用 Python 和 Matplotlib 在文本中绘制字符

Schritt 1: Erstellen Sie Ihre virtuelle Umgebung

Die Umgebung für dieses Projekt wird kleiner sein. Mit virtuellen Umgebungen können Sie Ihrem Arbeitsbereich zusätzliche Funktionen hinzufügen, ohne den Rest Ihres Computers zu beeinträchtigen!

Erstellen Sie ein Verzeichnis und öffnen Sie es im Code-Editor und Terminal (wo Sie den Befehl ausführen). Lassen Sie uns ausführen: Zwei Dateien, read.txt und wordcount.py.

Wir werden wordcount.py verwenden, um den Text in read.txt zu analysieren.

Schritt 2: Lesen Sie den Text Wir können relativ einfach beginnen,

$ python3 -m venv venv
$ source venv/bin/activate

Zuerst wird unsere Zeichen- und Sortierbibliothek importiert

Zweitens verwenden wir die integrierte Öffnungsfunktion, die es uns ermöglicht, eine Datei zum Lesen und Schreiben zu öffnen

Dann lesen wir den Text in der Datei und speichern ihn darin Text in einer Variablen

Abschließend schließen wir die Datei, da wir sie nicht mehr verwenden
  • So „lesen“ wir die Datei und speichern den Inhalt in einer Variablen Alles was Sie brauchen.
  • Schritt 3: Zeichen analysieren
  • Die beste Möglichkeit, den Überblick über Zeichen zu behalten, ist die Verwendung eines Python-Wörterbuchs (in anderen Programmiersprachen Hashmap genannt).
  • Wörterbücher sind eine sehr nützliche Möglichkeit, Daten zu speichern. Genau wie ein echtes Wörterbuch verfügt es über eine Liste von „Wörtern“, die Sie sich ansehen können, um Definitionen zu sehen.

In der Programmierung wird dieses Konzept auf „Schlüssel/Wert“-Paare verallgemeinert. Das heißt, wir können ein Wörterbuch einrichten und wenn ich das Wörterbuch nach „a“ frage, wird die Gesamtzahl der Vorkommen von „a“ zurückgegeben.

Also lasst uns programmieren!

$ pip3 install matplotlib

Lasst uns noch einmal zusammenfassen, was hier passiert ist.

Zuerst definieren wir ein leeres Wörterbuch.

Als nächstes verwenden wir das Schlüsselwort def, um eine Funktion zu definieren. Diese Funktion nimmt eine Variable „char“ und prüft, ob es sich um ein Leerzeichen (Leerzeichen, Tab, Newline) handelt. Sie können Ihrer Auswahl weitere Kriterien hinzufügen, z. B. isalpha(), um festzustellen, ob es sich bei dem Zeichen um den Buchstaben

handelt, und dann prüfen, ob es bereits im Wörterbuch vorhanden ist. Wenn es sich im Wörterbuch befindet, wird der Wert auf den vorherigen Wert plus 1 geändert (da wir dieses Zeichen zählen), andernfalls wird ein neuer Eintrag im Wörterbuch mit einer anfänglichen Anzahl von 1 hinzugefügt

#🎜🎜 # Dann durchlaufen wir jedes Zeichen in der Textvariablen, wobei „i“ ein einzelnes Zeichen darstellt. Wir speichern und führen unsere Funktion aus, um sie zu zählen. 🎜🎜#

    Schritt 4: Zeichnen Sie es!
  • Da unser Datensatz nun erstellt ist, organisieren wir ihn in Achsen und zeichnen ihn auf!
  • Wir erstellen eine Liste zur Darstellung jeder Achse
  • num_list = []
  • char_list = []
  • # 🎜🎜#Diese Listen entsprechen einander. Wenn also Element 1 in char_list „a“ ist, ist Element 1 in num_list die entsprechende Häufigkeit. Lassen Sie uns das auch verschlüsseln.
import matplotlib.pyplot as plt # plot
from collections import OrderedDict # this will be used for sorting later

file = open('read.txt')
text = file.read()
file.close()

Wir verwenden zwei Variablen, um die Schlüssel/Wert-Paare in dem von uns erstellten Wörterbuch zu durchlaufen und sie dann unserer Datenliste hinzuzufügen.

Lassen Sie uns zum Schluss dieses Balkendiagramm mit Matplotlib erstellen und speichern.

charDict = {} # dictionaries are defined by curly braces
def count_letter(character):
character = character.lower()
if character.isspace():
return
if character in charDict:
charDict[character] = charDict[character] + 1
else:
charDict[character] = 1

# loop through text
for i in text:
count_letter(i)

charDict = OrderedDict(sorted(charDict.items()))

Zuerst erstellen wir eine neue Form. Abgebildet ist das Gesamtfenster

Ein Diagramm zum Diagramm hinzufügen

Ein Balkendiagramm mit den von uns ausgewählten Daten hinzufügen

Bild herunterladen

#🎜 🎜#showimage

    Es ist Zeit, es auszuprobieren!
  • Verwenden Sie den folgenden Code, um Ihre Datei auszuführen uns Seien Sie auf die Ergebnisse vorbereitet!
  • char_list = [] # character
    num_list = [] # frequency
    # create x and y axes
    for x,y in charDict.items():
    char_list.append(x)
    num_list.append(y)
  • Um die Frage zu beantworten, die ich am Anfang dieses Beitrags gestellt habe: Der Buchstabe e wird in „Der große Gatsby“ über 25.000 Mal verwendet! Wow!

    Fazit

    Am Ende dieses Artikels hoffe ich, dass Sie ein Verständnis für Matplotlib und Data Science gewonnen haben.

Das obige ist der detaillierte Inhalt vonZeichnen Sie Zeichen in Text mit Python und Matplotlib. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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