Python3制作詞云進(jìn)階
Hello!上一期我們生成了一個(gè)好看的詞云、雖然不是很好看、但我們今天要做真正好看的詞云。
1.用jieba庫來分詞、實(shí)現(xiàn)詞云、不是句云:
我們上期做的詞云、是以句子分的。因?yàn)閣ordcloud庫默認(rèn)是以標(biāo)點(diǎn)符號(hào)和空格來分開各個(gè)“詞”的。這對(duì)中文明顯不友好、所有我們要先用jieba庫分詞。
先打開上期的文件

導(dǎo)入jieba庫。然后新建一個(gè)列表text_list、設(shè)它的初始值為jieba庫分詞返回的列表。
generate函數(shù)的參數(shù)只能接收字符串類型的數(shù)據(jù)、所以我們用join()來將text_list轉(zhuǎn)換為字符串、列表的像之間用空格隔開、以便計(jì)算機(jī)區(qū)分。

現(xiàn)在來看一下我們的詞云。
現(xiàn)在就是一個(gè)一個(gè)的詞啦。

2.生成有形狀的詞云
現(xiàn)在的詞云都是雜亂無章的、魚龍混雜、何必不讓它像一張圖片?
說好就干。新增的庫:pillow(導(dǎo)入圖片),numpy(獲得圖片數(shù)據(jù))。
首先導(dǎo)入它們倆、用PIL.Image.open()打開一張準(zhǔn)備的圖片。

這張圖在桌面。

再用numpy.array()獲得圖片數(shù)據(jù)。
再在第9行那修改mask參數(shù)、設(shè)為圖片數(shù)據(jù)。

再來看一下我們的詞云。
嗯……你們覺得像嗎?

3.生成類似的顏色
現(xiàn)在的詞云有一點(diǎn)“像”圖片了、但顏色不像。
這需要導(dǎo)入wordcloud的ImageColorGenerator類。用來生成圖片顏色。

將它設(shè)置在第12行的color_func參數(shù)中。

現(xiàn)在看一下詞云。
乍一看、不像呢?

下一次得摳圖啦?。。?/p>