Cet article présente principalement comment générer des nuages de mots en Python. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Avant-propos
Aujourd'hui, je vais vous apprendre à utiliser le module wrodcloud pour générer un nuage de mots. J'ai lu un roman et généré un nuage de mots. Voyons d'abord le rendu : Rendu 1 : Rendu 2 :Installation de Wordcloud
Pour les nouveaux arrivants, l'installation du module wordcloud est une étape importante. Nous l'installons généralement via Pycharm ou PIP. une erreur sera demandée lors de l'installation de wordcloud, comme suit : Ma solution consiste à visiter directement l'URL suivante et à télécharger le fichier whl correspondant en fonction de votre ordinateur et de la version de py Une fois le téléchargement terminé, placez le fichier whl sous le chemin pip, entrez le code suivant, rappelez-vous que le nom de fichier whl du code doit être un nom de fichier qui vous convient , je donne juste un exemple :pip install wordcloud-1.4.1-cp36-cp36m-win32.whl
wordcloud Utilisation simple de
La méthode de base de wordcloud, voir le code source comme suit : Vous devez comprendre chaque paramètre en un coup d'œil, et wordcloud Il existe plusieurs autres méthodes, telles que fit_words, generate(text), to_file(filename), etc., qui sont toutes très faciles à comprendre.wordcloud génère un nuage de mots
Code pour le rendu 1 :from wordcloud import WordCloud import matplotlib.pyplot as plt #绘制图像的模块 import jieba #jieba分词 path_txt='C://Users/Administrator/Desktop/all.txt' f = open(path_txt,'r',encoding='UTF-8').read() # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云 cut_text = " ".join(jieba.cut(f)) wordcloud = WordCloud( #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的 font_path="C:/Windows/Fonts/simfang.ttf", #设置了背景,宽高 background_color="white",width=1000,height=880).generate(cut_text) plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.show()
from PIL import Image from wordcloud import WordCloud, ImageColorGenerator import matplotlib.pyplot as plt import numpy as np import jieba def GetWordCloud(): path_txt = 'C://Users/Administrator/Desktop/all.txt' path_img = "C://Users/Administrator/Desktop/timg.jpg" f = open(path_txt, 'r', encoding='UTF-8').read() background_image = np.array(Image.open(path_img)) # 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云,感兴趣的朋友可以去查一下,有多种分词模式 #Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 cut_text = " ".join(jieba.cut(f)) wordcloud = WordCloud( # 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的 font_path="C:/Windows/Fonts/simfang.ttf", background_color="white", # mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的 mask=background_image).generate(cut_text) # 生成颜色值 image_colors = ImageColorGenerator(background_image) # 下面代码表示显示图片 plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation="bilinear") plt.axis("off") plt.show() if __name__ == '__main__': GetWordCloud()
Python génère des nombres aléatoires avec n'importe quel plage et toute précision Comment compter
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!