[Nuage de mots Python] Quand vous vous ennuyez, créons votre propre nuage de mots

Avant-propos :
je pense que le nuage de mots est assez amusant sans contact avec Python, donc maintenant je viens de finir d'apprendre la production de nuages ​​de mots, donc je vais partager avec vous une vague. La production de nuages ​​de mots anglais est relativement simple, donc je vais partager directement le chinois méthode de production du nuage de mots et code complet ici. Reprise à la fin.
1. Affichage des effets
Veuillez ajouter une description de l'image

Étapes de production
1. Importez d'abord les bibliothèques pertinentes dont nous devons dépendre

import jieba
import wordcloud
import matplotlib.pyplot as plt
import imageio

2. Définissez notre image d'arrière-plan de nuage de mots (plus le contraste de couleur est foncé, mieux c'est, de préférence une couleur unie)

#背景图片可以自行上网上搜索
#可以使用绝对路径也可以使用相对路径,建议使用相对路径
mask = imageio.imread(r'#图片路径')

3. Spécifiez la position du texte et le style de jeu

#可以使用绝对路径也可以使用相对路径,建议使用相对路径
with open('文本位置','r',encoding='utf-8')as f:
    words = f.read()

4. Tokéniser le texte

#对中文进行分词,不然词云显示会变为一个个的句子。
string = words
#利用jieba库对指定文本进行分词
seg = jieba.cut(string,cut_all=False)
#对分词需求进行定义,根据需求进行自行调整。
word_list = [word for word in seg if len(word.strip())>1]
str = '.'.join(word_list)

5. Ajustez la taille de la police, la couleur et le nombre de mots dans le nuage de mots

#指定模板
wcloud = wordcloud.WordCloud(
    font_path='./zt.ttf', #字体路径
    background_color='white', #指定背景颜色
    max_words=500,   #词云显示最大词数
    max_font_size=150,  #指定最大字号
    mask = mask #背景图片
) 

6. Générer et afficher un nuage de mots

wcloud = wcloud.generate(str)  #生成词云
plt.imshow(wcloud)
plt.savefig('eng-map.jpg')
plt.axis('off')
plt.show()

Trois, code complet du nuage de mots


# coding=gbk
import jieba
import wordcloud
import matplotlib.pyplot as plt
import imageio

mask = imageio.imread(r'./china.png')
with open('./zgg.txt','r',encoding='utf-8')as f:
    words = f.read()
string = words
seg = jieba.cut(string,cut_all=False)
word_list = [word for word in seg if len(word.strip())>1]
str = '.'.join(word_list)
wcloud = wordcloud.WordCloud(
    font_path='./zt.ttf', #字体路径
    background_color='white', #指定背景颜色
    max_words=500,   #词云显示最大词数
    max_font_size=150,  #指定最大字号
    mask = mask #背景图片
) #指定模板
wcloud = wcloud.generate(str)  #生成词云
#避免中文乱码
plt.imshow(wcloud)
plt.savefig('eng-map.jpg')
plt.axis('off')
plt.show()

Je suppose que tu aimes

Origine blog.csdn.net/xiaobai729/article/details/124428720
conseillé
Classement