Dans cet article, nous verrons comment créer des nuages de mots de n’importe quelle forme en Python.
Le terme Nuage de mots fait référence à une technique de visualisation de données permettant d’afficher des données textuelles dans lesquelles la taille de chaque mot indique sa fréquence ou sa pertinence. Pour créer un nuage de mots de n’importe quelle forme, utilisez Python Paquets Matplotlib, wordcloud, NumPy et PIL.
Mise en œuvre par étapes
Jetons un coup d’œil à la mise en œuvre étape par étape –
Étape 1: Installez les modules suivants comme indiqué ci-dessous-
pip installer matplotlib pip installer wordcloud
Étape 2: Importez les modules suivants comme indiqué ci-dessous-
importer matplotlib.pyplot en tant que plt de wordcloud importer WordCloud, STOPWORDS importer numpy en tant que np de PIL importer l’image
Étape 3: Suivez les étapes ci-dessous-
- Donnez le chemin complet du fichier texte que vous souhaitez utiliser.
- En mode lecture, ouvrez le fichier texte.
- Enfin, encodez-le et lisez-le.
- Dans cet article, le fichier texte suivant sera utilisé – Texte
text = open(r’C:UsersDellDesktopWordcloudText.txt’, mode= »r », encoding=’utf-8′).read()
Étape 4: Suivez les étapes ci-dessous-
- Donnez le chemin complet de l’image que nous utiliserons pour obtenir notre sortie sous la même forme.
- Ensuite, à l’aide de la fonction image.open, ouvrez l’image.
- Après cela, utilisez NumPy pour créer le tableau de l’image.
- L’image ci-dessous sera utilisée dans cet article pour la forme souhaitée
mask = np.array(Image.open(r’C:UsersDell|DownloadsGarbageGFG.png’))
Étape 5 : Créer un nuage de mots en intégrant un mot vide, un masque, une couleur de fond, le nombre maximum de mots dans le nuage de mots, la hauteur et la largeur du masque.
- mots vides- Il est utilisé pour éviter les caractères inutiles tels que- ‘./-[{)*&^%~@!#%^&].
- masque- Le masque est la forme dans laquelle nous allons convertir notre nuage de mots.
- Couleur de l’arrière plan- Nous pouvons utiliser la couleur de fond que nous aimons, comme le noir, le vert, etc.
- max_mots- C’est le nombre maximum de mots qu’un nuage de mots peut contenir.
- max_font- C’est la taille de police maximale.
- La largeur et la hauteur du nuage de mots sont représentées par la largeur et la hauteur.
wc = WordCloud(stopwords = STOPWORDS, mask = mask, background_color = « white », max_words = 2000, max_font_size = 500, random_state = 42, width = mask.shape[1], hauteur = masque.forme[0])
Étape 6 :
- Maintenant, en utilisant la fonction de génération, nous allons créer un nuage de mots à partir du texte fourni.
- Pour afficher les données d’image, utilisez la fonction imshow.
- Nous allons essayer de sortir des axes x et y.
- Enfin, nous afficherons le nuage de mots généré à l’aide de la fonction show définie dans matplotlib.
wc.generate(texte) plt.imshow(wc, interpolation= »None ») plt.axis(‘off’) plt.show()
Ci-dessous l’implémentation complète.
Python3
importer matplotlib.pyplot en tant que plt de wordcloud importer WordCloud, STOPWORDS importer numpy en tant que np à partir de l’image d’importation PIL text = open(r’C:UsersDellDesktopWordcloudText.txt’, mode = ‘r’, encodage = ‘utf-8’).read() masque = np.array(Image.open( r’C:UsersDellDownloadsGarbageGFG.png’)) wc = WordCloud(mots vides = STOPWORDS, masque = masque, background_color = « blanc », max_mots = 2000, max_font_size = 500, état_aléatoire = 42, largeur = masque.forme[1], hauteur = masque.forme[0]) wc.generate(texte) plt.imshow(wc, interpolation = « Aucun ») plt.axis(‘off’) plt.show() |
Sortir:
Changer la taille de la police
Suivez les étapes ci-dessous pour modifier la taille de la police des mots dans le nuage de mots-
- Tout d’abord, sélectionnez une police à partir de ce collection.
- Téléchargez le fichier de police, vous voyez qu’il est au format .zip.
- Ouvrez le fichier zip et extrayez-en le fichier ttf ou otf.
- Maintenant, fournissez simplement le chemin complet du fichier ttf ou otf.
chemin = r’C:UsersDellDownloadsGarbageCandy Beans.otf’
Code complet :
Python3
importer matplotlib.pyplot en tant que plt de wordcloud importer WordCloud, STOPWORDS importer numpy en tant que np à partir de l’image d’importation PIL text = open(r’C:UsersDellDesktopWordcloudText.txt’, mode = ‘r’, encodage = ‘utf-8’).read() chemin = r’C:UsersDellDownloadsGarbageCandy Beans.otf’ masque = np.array(Image.open( r’C:UsersDellDownloadsGarbageGFG.png’)) wc = WordCloud(mots vides = STOPWORDS, font_path = chemin, masque = masque, background_color = « blanc », max_mots = 2000, max_font_size = 500, état_aléatoire = 42, largeur = masque.forme[1], hauteur = masque.forme[0]) wc.generate(texte) plt.imshow(wc, interpolation = « Aucun ») plt.axis(‘off’) plt.show() |
Sortir:
Changer la couleur de la police
Suivez les étapes ci-dessous pour changer la couleur de la police du texte dans le nuage de mots-
- Créez une fonction pour changer la couleur de la police.
- Parce que le HSL de chaque couleur est unique, il suffit de passer le HSL et de le retourner.
Code complet :
Python3
importer matplotlib.pyplot en tant que plt de wordcloud importer WordCloud, STOPWORDS importer numpy en tant que np à partir de l’image d’importation PIL def one_color_func(word = Aucun, font_size = Aucun, position = aucune, orientation = aucune, font_path = Aucun, random_state = Aucun) : h = 99 s = 62 l = 45 renvoie « hsl({}, {}%, {}%) ».format(h, s, l) text = open(r’C:UsersDellDesktopText.txt’, mode = ‘r’, encodage = ‘utf-8’).read() chemin = r’C:UsersDellDownloadsGarbageCandy Beans.otf’ masque = np.array(Image.open( r’C:UsersDellDownloadsGarbageGFG!.png’)) wc = WordCloud(mots vides = STOPWORDS, font_path = chemin, masque = masque, background_color = « blanc », max_mots = 2000, max_font_size = 500, état_aléatoire = 42, largeur = masque.forme[1], hauteur = masque.forme[0], color_func = one_color_func) wc.generate(texte) plt.imshow(wc, interpolation = « Aucun ») plt.axis(‘off’) plt.show() |
Sortir:
Attention geek ! Renforcez vos fondations avec le Fondation de programmation Python Cours et apprenez les bases.
Pour commencer, vos préparatifs d’entretien Améliorez vos concepts de Structures de Données avec les Python DS Cours. Et pour commencer votre parcours d’apprentissage machine, rejoignez le Apprentissage automatique – Cours de niveau de base