Heim >Backend-Entwicklung >Python-Tutorial >So generieren Sie eine Wortwolke in Python
Dieser Artikel stellt hauptsächlich vor, wie man Wortwolken in Python generiert. Jetzt kann ich ihn mit Ihnen teilen
Vorwort
Heute werde ich Ihnen beibringen, wie Sie mit dem Wrodcloud-Modul eine Wortwolke erstellen. Ich habe einen Roman gelesen und eine Wortwolke erstellt:
Rendering 1:
Rendering 2:
Laut Darstellung ist die Analyse recht zutreffend. Der Protagonist im Roman ist „Cheng Li“, er erscheint also am häufigsten. Es gibt zwei Modi im Bild, einer ist der Standardmodus und der andere besteht darin, Ihr eigenes Bild als Hintergrund hinzuzufügen. Jetzt zeige ich Ihnen, wie Sie eine Wortwolke erstellen!
Wordcloud-Installation
Für Neulinge ist die Installation des Wordcloud-Moduls ein großer Schritt. Wir installieren es jedoch normalerweise über Pycharm oder PIP Bei der Installation von Wordcloud wird ein Fehler wie folgt angezeigt:
Meine Lösung besteht darin, direkt die folgende URL aufzurufen und die entsprechende WHL-Datei entsprechend Ihrem Computer und Ihrer Py-Version herunterzuladen
Nachdem der Download abgeschlossen ist, legen Sie die WHL-Datei unter den PIP-Pfad und geben Sie den folgenden Code ein. Denken Sie daran, dass der WHL-Dateiname des Codes ein Dateiname sein muss, der zu Ihnen passt , ich gebe nur ein Beispiel:
pip install wordcloud-1.4.1-cp36-cp36m-win32.whl
Nach dem Ausführen wird angezeigt, dass die Installation erfolgreich war
Einfache Verwendung von Wordcloud
Die grundlegende Methode von Wordcloud, siehe Quellcode wie folgt:
Sie sollten jeden Parameter auf einen Blick verstehen, und Wordcloud verfügt auch über mehrere andere Methoden, wie fit_words, generic(text), to_file(filename) usw., die sehr leicht zu verstehen sind.
Wordcloud generiert Wortwolke
Code für die Darstellung 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()
Nach dem Ausführen:
Rendering 2, fügen Sie der Wortwolke einen Bildhintergrund hinzu. Der Code lautet wie folgt:
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()
Nach dem Ausführen:
Verwandte Empfehlungen:
Python-Methode zum Generieren von Zufallszahlen mit beliebigem Bereich und jede Präzision
Das obige ist der detaillierte Inhalt vonSo generieren Sie eine Wortwolke in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!