Python制作詞云的方法
需求:
看到朋友圈有人發(fā)詞云照片,感覺自己也可以玩一玩,于是乎借助wordcloud實(shí)現(xiàn)功能。
環(huán)境:
MacOS 10.12 +Python 2.7 +Wordcloud
Windows通用
準(zhǔn)備:
安裝wordcloud
$ pip install wordcloud
SIP功能是Apple在OSX上推出的系統(tǒng)完整性保護(hù)功能,新版本的macOS直接用pip安裝報(bào)錯(cuò),在不關(guān)閉SIP功能的前提下,可以使用
$ pip install wordcloud --user -U
某些情況還會提示錯(cuò)誤,需要安裝VS for Python,直接上官網(wǎng)下載安裝即可。
實(shí)現(xiàn):
源碼
#! /usr/bin/env python
# import
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
# current path
d = path.dirname(__file__)
# Read the whole text.
text = open(path.join(d, 'test.txt')).read()
# read the mask image
test_mask = np.array(Image.open(path.join(d, "test_mask.png")))
stopwords = set(STOPWORDS)
stopwords.add("said")
# setting
wc = WordCloud(background_color="black", max_words=2000, mask=test_mask,
stopwords=stopwords)
# generate word cloud
wc.generate(text)
# plot and show
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.figure()
plt.imshow(test_mask, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")
plt.show()
# store to file
wc.to_file(path.join(d, "test.png"))
輔助文件
test_mask.png

test.txt
The list of big's prior run-ins with the far-right fringe is long and varied. He tweeted fake crime statistics spread by racists to paint black cans as violent, then defended them as credible. He sparked a firestorm last year when he declined to renounce
效果圖

其它說明:
1.文檔可以是任意英文txt文件,以上的是網(wǎng)絡(luò)上英文新聞中的一小段,僅起示例作用。
2.關(guān)于中文支持,有多種方法,主要就是分詞的問題,這里不討論了。
3.我不清楚許多人說的定制是什么意思,因?yàn)槿绻胍约喝我庀胍男螤畹脑?,我覺得用PS做一個(gè)png圖可以達(dá)到同樣的效果,經(jīng)測試也沒有發(fā)現(xiàn)問題。
4.寫的第一篇文章,不足之處歡迎來噴,畢竟我是要學(xué)習(xí)的。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中橫向或縱向拼接兩個(gè)表方法實(shí)例
最近要將兩個(gè)表格合并,Python處理起來很簡單,所以這篇文章主要給大家介紹了關(guān)于Python中橫向或縱向拼接兩個(gè)表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
PHP實(shí)現(xiàn)發(fā)送和接收J(rèn)SON請求
本篇文章給大家分享了PHP實(shí)現(xiàn)發(fā)送和接收J(rèn)SON請求的詳細(xì)方法和實(shí)例代碼,有興趣的朋友可以參考學(xué)習(xí)下。2018-06-06
Python 數(shù)據(jù)結(jié)構(gòu)之旋轉(zhuǎn)鏈表
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)之旋轉(zhuǎn)鏈表的相關(guān)資料,需要的朋友可以參考下2017-02-02
編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器
這篇文章主要介紹了編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器的方法,包括對小說的章節(jié)排列等方面的優(yōu)化,對于Python學(xué)習(xí)者來說非常具有實(shí)踐意義!需要的朋友可以參考下2015-08-08
Python 列表(List) 的三種遍歷方法實(shí)例 詳解
這篇文章主要介紹了Python 列表(List) 的三種遍歷方法實(shí)例 詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04

