So generieren Sie eine Wortwolke in Python

不言
Freigeben: 2018-06-02 14:40:28
Original
3114 Leute haben es durchsucht

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 Login kopieren

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 Login kopieren

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 Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!