1. 程式人生 > >Python_製作中文詞雲

Python_製作中文詞雲

準備工作:

安裝 jieba 中文分詞工具

安裝 wordcloud 詞雲生成工具

在命令列執行: pip install name.whl 完成安裝

準備txt文件一份,準備詞雲形狀背景一張, 我直接從網上查詢複製李白詩歌幾首如下:

李白 李白 李白 李白 李白 李白 李白 李白 李白 李白 李白 李白
君不見黃河之水天上來,奔流到海不復回。
君不見高堂明鏡悲白髮,朝如青絲暮成雪。
人生得意須盡歡,莫使金樽空對月。
天生我材必有用,千金散盡還復來。
烹羊宰牛且為樂,會須一飲三百杯。
岑夫子,丹丘生,將進酒,杯莫停。
與君歌一曲,請君為我側耳聽。
鐘鼓饌玉不足貴,但願長醉不復醒。
古來聖賢皆寂寞,惟有飲者留其名。
陳王昔時宴平樂,斗酒十千恣歡謔。
主人何為言少錢,徑須沽取對君酌。
五花馬,千金裘,
呼兒將出換美酒,與爾同銷萬古愁。
床前明月光,疑是地上霜。
舉頭望明月,低頭思故鄉。
海客談瀛洲,煙濤微茫信難求。
越人語天姥,雲霞明滅或可睹。
天姥連天向天橫,勢拔五嶽掩赤城。
天台四萬八千丈,對此欲倒東南傾。
我欲因之夢吳越,一夜飛度鏡湖月。
湖月照我影,送我至剡溪。
謝公宿處今尚在,淥水盪漾清猿啼。
腳著謝公屐,身登青雲梯。
半壁見海日,空中聞天雞。
千巖萬轉路不定,迷花倚石忽已暝。
熊咆龍吟殷巖泉,慄深林兮驚層巔。
雲青青兮欲雨,水澹澹兮生煙。
列缺霹靂,丘巒崩摧。洞天石扉,訇然中開。
青冥浩蕩不見底,日月照耀金銀臺。
霓為衣兮風為馬,雲之君兮紛紛而來下。
虎鼓瑟兮鸞回車,仙之人兮列如麻。
忽魂悸以魄動,恍驚起而長嗟。
惟覺時之枕蓆,失向來之煙霞。
世間行樂亦如此,古來萬事東流水。
別君去兮何時還,且放白鹿青崖間,
須行即騎訪名山。安能摧眉折腰事權貴,
使我不得開心顏。

準備工作完成後即可進行詞雲生成:

# coding: utf-8


from wordcloud import WordCloud
import cv2
import jieba


with open('tmp.txt','r') as f:
    text = f.read()

cut_text =" ".join(jieba.cut(text))

color_mask = cv2.imread('mask.jpg')

cloud = WordCloud(
       #設定字型,不指定就會出現亂碼
       font_path=" C:\\Windows\\Fonts\\STXINGKA.TTF",
       #font_path=path.join(d,'simsun.ttc'),
       #設定背景色
       background_color='white',
       #詞雲形狀
       mask=color_mask,
       #允許最大詞彙
       max_words=2000,
       #最大號字型
       max_font_size=40
   )

wCloud = cloud.generate(cut_text)
wCloud.to_file('cloud.jpg')

import matplotlib.pyplot as plt
plt.imshow(wCloud, interpolation='bilinear')
plt.axis('off')
plt.show()

最終生成的詞雲如下:

只要替換成自己的文字和背景模板,就可以生成不同的詞雲。