Dalam carta visualisasi data, aplikasi carta awan perkataan boleh dilihat di mana-mana sahaja. Ia biasanya mengekstrak kekerapan perkataan daripada sekeping teks input, dan kemudian memaparkan perkataan frekuensi tinggi secara tertumpu mengikut kekerapan perkataan Ia adalah mudah, intuitif dan cekap Hari ini saya akan berkongsi cara melukis awan perkataan yang indah graf dalam Python.
Mari cuba lukis graf awan perkataan mudah dahulu, menggunakan modul wordcloud dalam Python untuk melukisnya,
import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt
Kami mengimport kandungan teks dan mengalih keluar pemisah baris dan ruang Kodnya adalah seperti berikut:
text = open(r"明朝那些事儿.txt",encoding='utf8').read() text = text.replace('n',"").replace("u3000","")
Kami perlu membahagikannya kepada perkataan satu demi satu gunakan modul jieba, kod Seperti berikut:
text_cut = jieba.lcut(text) # 将分好的词用某个符号分割开连成字符串 text_cut = ' '.join(text_cut)
Sudah tentu, mungkin terdapat banyak kandungan yang tidak relevan yang tidak perlu kita lihat dalam keputusan pada masa ini, kita perlu gunakan perkataan henti, dan kami boleh membinanya sendiri , atau anda boleh terus menggunakan senarai kata henti yang telah dibina oleh orang lain Kod ini adalah seperti berikut 🎜>Berikut ialah kod teras untuk melukis carta awan perkataan.
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")
background = Image.open(r"5.png") graph = np.array(background)
# 使用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")
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: bentuk perkataan cloud
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)
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")
Atas ialah kandungan terperinci Menggunakan Python untuk melukis beberapa gambar rajah awan perkataan, yang mengagumkan semua orang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!