Heim >Backend-Entwicklung >Python-Tutorial >Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte
In Datenvisualisierungsdiagrammen ist die Anwendung von Wortwolkendiagrammen überall zu sehen. Es extrahiert normalerweise die Worthäufigkeit aus einem Eingabetext und zeigt dann hochfrequente Wörter entsprechend der Häufigkeit des Wortvorkommens an. Heute werde ich Ihnen zeigen, wie man eine exquisite Wortwolke zeichnet Diagramm in Python.
Versuchen wir zunächst, ein einfaches Wortwolkendiagramm zu zeichnen, indem wir das Wordcloud-Modul in Python verwenden, um es zu zeichnen 🎜#
import jieba from wordcloud import WordCloud import matplotlib.pyplot as pltWir importieren den Textinhalt und entfernen die Zeilenumbrüche und Leerzeichen. Der Code lautet wie folgt:
text = open(r"明朝那些事儿.txt",encoding='utf8').read() text = text.replace('n',"").replace("u3000","")Wir müssen ihn zu diesem Zeitpunkt einzeln in Wörter aufteilen. Wir müssen nun das Jieba-Modul verwenden. Der Code lautet wie folgt:
text_cut = jieba.lcut(text) # 将分好的词用某个符号分割开连成字符串 text_cut = ' '.join(text_cut)Natürlich kann es viele irrelevante Inhalte geben, die wir in den Ergebnissen nicht sehen müssen Wenn wir Stoppwörter verwenden, können wir sie selbst erstellen oder direkt die von anderen erstellte Stoppwortliste verwenden. Der Code lautet wie folgt:
# 🎜🎜#
stop_words = open(r"常见中文停用词表.txt").read().split("n")
word_cloud = WordCloud(font_path="simsun.ttc",# 设置词云字体 background_color="white", # 词云图的背景颜色 stopwords=stop_words) # 去掉的停词 word_cloud.generate(text_cut) word_cloud.to_file("1.png")
output
So ein extrem einfaches Wortwolkendiagramm ist fertig, natürlich können wir ein hinzufügen Fügen Sie ein Hintergrundbild hinzu, beispielsweise das folgende Bild:
Der Hauptcode, der hinzugefügt werden muss, lautet wie folgt: #🎜🎜 #
background = Image.open(r"5.png") graph = np.array(background)Dann fügen Sie den Maskenparameter in WorCloud hinzu
# 使用WordCloud生成词云 word_cloud = WordCloud(font_path="simsun.ttc",# 设置词云字体 background_color="white", # 词云图的背景颜色 stopwords=stop_words, # 去掉的停词 mask=graph) word_cloud.generate(text_cut) word_cloud.to_file("1.png")output
tiefe Optimierung# 🎜 🎜#
Darüber hinaus gibt es ein weiteres Modul stylecloud, das ein ebenfalls sehr cooles Wortwolkendiagramm zeichnet, von dem wir hauptsächlich die folgende Funktion verwenden.gen_stylecloud(text=None, icon_name='fas fa-flag', colors=None, palette='cartocolors.qualitative.Bold_5', background_color="white", max_font_size=200, max_words=2000, stopwords=True, custom_stopwords=STOPWORDS, output_name='stylecloud.png', )
icon_name: die Form des Wortwolkendiagramms
stylecloud.gen_stylecloud(text=text_cut, palette='tableau.BlueRed_6', icon_name='fas fa-apple-alt', font_path=r'田英章楷书3500字.ttf', output_name='2.png', stopwords=True, custom_stopwords=stop_words)
Schließlich schauen wir uns an, wie man das Pyecharts-Modul zum Zeichnen von Wortwolkendiagrammen verwendet. Der Code lautet wie folgt# 🎜🎜#
from pyecharts import options as opts from pyecharts.charts import Page, WordCloud words = [ ("皇帝", 10000), ("朱元璋", 6181), ("明朝", 4386), ("朝廷", 4055), ("明军", 2467), ("士兵", 2244), ("张居正", 1868), ("王守仁", 1281) ] c = ( WordCloud() .add("", words, word_size_range=[20, 100]) .set_global_opts(title_opts=opts.TitleOpts(title="基本示例")) ) c.render("1.html")#🎜 🎜#output
Das Ergebnis ist etwas einfacher, aber es ist hier erwähnenswert, dass die WordCloud() Methode in Pyecharts Durchläufe Die eingegebenen Daten sind das angegebene Wort und seine Häufigkeit. Dies unterscheidet sich von der vorherigen Operation
Das obige ist der detaillierte Inhalt vonIch habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!