Heim > Backend-Entwicklung > Python-Tutorial > Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte

Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte

王林
Freigeben: 2023-04-13 12:28:02
nach vorne
1548 Leute haben es durchsucht

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 plt
Nach dem Login kopieren

Wir 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","")
Nach dem Login kopieren

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)
Nach dem Login kopieren

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")
Nach dem Login kopieren

Das Folgende ist das Zeichenwort Der Kerncode von Cloud Atlas.

word_cloud = WordCloud(font_path="simsun.ttc",# 设置词云字体
background_color="white", # 词云图的背景颜色
stopwords=stop_words) # 去掉的停词
word_cloud.generate(text_cut)
word_cloud.to_file("1.png")
Nach dem Login kopieren

output


Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffteSo ein extrem einfaches Wortwolkendiagramm ist fertig, natürlich können wir ein hinzufügen Fügen Sie ein Hintergrundbild hinzu, beispielsweise das folgende Bild:


Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffteDer Hauptcode, der hinzugefügt werden muss, lautet wie folgt: #🎜🎜 #

background = Image.open(r"5.png")
graph = np.array(background)
Nach dem Login kopieren

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")
Nach dem Login kopieren

output


tiefe Optimierung# 🎜 🎜#Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte

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',
)
Nach dem Login kopieren

Mehrere häufig verwendete Parameter sind

icon_name: die Form des Wortwolkendiagramms

max_font_size: die größte Schriftgröße
  • max_words: Die maximale Anzahl an Wörtern, die untergebracht werden können

  • Stoppwörter: Wird zum Filtern allgemeiner Stoppwörter verwendet
  • #🎜 🎜#
    benutzerdefinierte_Stoppwörter: Wenn Sie eine selbst erstellte Stoppwortliste haben, können Sie diese verwenden 🎜#
  • Versuchen wir, ein Wortwolkendiagramm zu zeichnen. Der Code lautet wie folgt:
  • 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)
    Nach dem Login kopieren

    output

  • #🎜🎜 #
  • wo Der Palettenparameter wird als Palette verwendet und kann beliebig geändert werden. Weitere Informationen finden Sie unter: https://jiffyclub.github.io/palettable/ Diese Website.
pyecharts

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")
Nach dem Login kopieren
#🎜 🎜#output

Ich habe Python verwendet, um mehrere Wortwolkendiagramme zu zeichnen, was alle verblüffte

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!

Verwandte Etiketten:
Quelle:51cto.com
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