Heim  >  Artikel  >  Backend-Entwicklung  >  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

王林
王林nach vorne
2023-04-13 12:28:021441Durchsuche

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

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","")

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")

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")

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)

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# 🎜 🎜#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',
)

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)

    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")
#🎜 🎜#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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen