Maison >développement back-end >Tutoriel Python >Dessinez des caractères dans du texte à l'aide de Python et Matplotlib
Le but de cet article est de vous aider à commencer à tracer des données en python. Nous allons créer un graphique à barres pour tracer la fréquence des caractères dans un fichier texte donné. Dans ce cas, le fichier texte contient du contenu de The Great Gatsby.
L'environnement de ce projet sera plus petit. Les environnements virtuels vous permettent d'ajouter des fonctionnalités supplémentaires à votre espace de travail sans affecter le reste de votre ordinateur !
Créez un répertoire et ouvrez-le dans l'éditeur de code et le terminal (où vous exécutez la commande). Allons-y : deux fichiers, read.txt et wordcount.py.
Nous utiliserons wordcount.py pour analyser le texte dans read.txt.
Étape 2 : Lire le texte On peut commencer relativement simple,
$ python3 -m venv venv $ source venv/bin/activateTout d'abord, il importe notre bibliothèque de dessins et de tri Deuxièmement, nous utilisons la fonction d'ouverture intégrée, qui nous permet d'ouvrir un fichier en lecture et en écritureEnsuite, nous lisons le texte à l'intérieur du fichier et le stockons dans texte dans une variableEnfin, on ferme le fichier puisque nous ne l'utilisons plus
En programmation, ce concept est généralisé aux paires "clé/valeur". Cela signifie que nous pouvons créer un dictionnaire et lorsque je demande au dictionnaire "a", il renverra le nombre total d'occurrences de "a".
$ pip3 install matplotlib
Récapitulons ce qui s'est passé ici.
Nous définissons d'abord un dictionnaire vide Ensuite, nous utilisons le mot-clé def pour définir une fonction. Cette fonction prend une variable "char" et vérifie s'il s'agit d'un espace (espace, tabulation, nouvelle ligne). Vous pouvez ajouter d'autres critères à votre sélection, comme isalpha() pour déterminer si le caractère est la lettre puis vérifier s'il est déjà dans le dictionnaire. S'il est dans le dictionnaire, il changera la valeur à la valeur précédente plus 1 (puisque nous comptons ce caractère), sinon il ajoutera une nouvelle entrée dans le dictionnaire avec un compte initial de 1#🎜🎜 # Ensuite, nous parcourons chaque caractère de la variable texte, où "i" représente un caractère individuel, nous enregistrons et exécutons notre fonction pour les compter
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()
Nous utilisons deux variables pour parcourir les paires clé/valeur dans le dictionnaire que nous avons créé, puis les ajoutons à notre liste de données.
Enfin, créons et enregistrons ce graphique à barres en utilisant matplotlib.
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()))
Tout d'abord, nous créons une nouvelle forme. Sur la photo, la fenêtre globale
Ajouter un tracé au graphique
Ajouter un graphique à barres en utilisant les données que nous avons sélectionnées
Télécharger l'image
#🎜 🎜#showimage
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)
Donc pour répondre à la question que j'ai posée au début de l'article, la lettre e est utilisée plus de 25 000 fois dans The Great Gatsby ! Ouah!
À la fin de cet article, j'espère que vous avez acquis une compréhension de matplotlib et de la science des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!