python:生成詞云圖

文本分析相關(guān)的問題經(jīng)常會(huì)用到詞云圖這種可視化形式蛆挫,因此特意開一個(gè)博客記錄一下詞云圖相關(guān)妙黍。

首先推薦幾個(gè)詞云圖生成網(wǎng)頁,如果只有少量詞的話用網(wǎng)頁可能會(huì)方便一點(diǎn)拭嫁。

Tendcode

這個(gè)工具非常簡(jiǎn)單可免,也是免費(fèi)的做粤。
https://tendcode.com/tool/word-cloud/


缺點(diǎn)在于生成的圖看起來還是有點(diǎn)草率了。怕品。


詞云文字

這個(gè)網(wǎng)站功能多但是免費(fèi)版最多支持20個(gè)詞
https://www.ciyunwenzi.com/web/ciyun/#/ciyun/data


最后就是我們的python啦

python畫詞云圖的庫是wordcloud,使用步驟大概是調(diào)庫,配置參數(shù)肉康,生成,保存圖片四步

1. 調(diào)庫

from wordcloud import WordCloud

2. 配置參數(shù)

wc= wordcloud.WordCloud(<參數(shù)>)

  wc = WordCloud( width=500, height=400, mode="RGBA",
                   background_color=None)

3. 生成

wc.generate(text)

此處的text是一個(gè)字符串涨薪,即詞云圖中所有詞通過空格連接起來合成的字符串:比如“科技 科技 創(chuàng)新 發(fā)展....”
但很多時(shí)候我們的輸入都是一個(gè)txt文件如何轉(zhuǎn)化成長字符串呢?這里就會(huì)用到j(luò)ieba這個(gè)庫刚夺,jiaba是python中文分詞的一個(gè)庫,輸入txt文件jieba會(huì)幫忙分詞并連接末捣。具體用法如下:

import jieba
 text = open("/Users/yezizhi/Desktop/test.txt", encoding="utf-8").read()  # 標(biāo)明文本路徑,打開
 text = ' '.join(jieba.cut(text))

4. 保存圖片

 # 顯示詞云圖
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.show()
    # 保存文件
    wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")

然后我就發(fā)現(xiàn)自己的詞云圖是這個(gè)樣子的??塔粒!


在網(wǎng)上查閱資料得知,應(yīng)該在詞云圖配置那一步增加“collocations=False,”避免出現(xiàn)重復(fù)圖卒茬,第二步修改為

  wc = WordCloud( width=500, height=400, mode="RGBA",
                   background_color=None,collocations=False,)

完整代碼

def word_cloud():
    # 導(dǎo)入txt文件
    text = open("/Users/yezizhi/Desktop/test.txt", encoding="utf-8").read()  # 標(biāo)明文本路徑,打開
    text = ' '.join(jieba.cut(text))
    # 生成對(duì)象
    wc = WordCloud(width=500, height=400, mode="RGBA",collocations=False,
                   background_color=None).generate(text)
    # 顯示詞云圖
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.show()
    # 保存文件
    wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")

下面這段代碼是因?yàn)槲业妮斎胧且粋€(gè)xls文件圃酵,第一列是詞,第二列是對(duì)應(yīng)詞頻郭赐,因此我就自己手動(dòng)拼接成了一個(gè)長字符串,大家如果有不同的輸入也是同理,給word_cloud一個(gè)長字符串就好了俘陷,不過注意詞與詞之間空格連接。


def xlsx_word_cloud():
    data = pd.read_excel('整體詞頻.xlsx')
    data_cy = data.copy()
    max_word = 300
    string_data = ''
    for i_row in range(1,max_word):
        times = data.iloc[i_row, 1]
        for i_time in range(1,times):
            string_data += data.iloc[i_row, 0]
            string_data += " "
    wc = WordCloud(width=500, height=400, mode="RGBA",
                   background_color=None,collocations=False,).generate(string_data)
    # 顯示詞云圖
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.show()
    # 保存文件
    wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拉盾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捉偏,更是在濱河造成了極大的恐慌,老刑警劉巖夭禽,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異讹躯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缠劝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酷麦,“玉大人,你說我怎么就攤上這事喉恋。” “怎么了轻黑?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長氓鄙。 經(jīng)常有香客問我,道長抖拦,這世上最難降的妖魔是什么升酣? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任态罪,我火速辦了婚禮,結(jié)果婚禮上复颈,老公的妹妹穿的比我還像新娘绩聘。我一直安慰自己,他們只是感情好凿菩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衅谷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪会喝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天肢执,我揣著相機(jī)與錄音,去河邊找鬼预茄。 笑死兴溜,一個(gè)胖子當(dāng)著我的面吹牛耻陕,可吹牛的內(nèi)容都是我干的拙徽。 我是一名探鬼主播诗宣,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼召庞!你這毒婦竟也來了岛心?” 一聲冷哼從身側(cè)響起篮灼,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诅诱,沒想到半個(gè)月后髓堪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娘荡,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年炮沐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片央拖。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鲜戒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遏餐,我是刑警寧澤伦腐,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布失都,位于F島的核電站,受9級(jí)特大地震影響粹庞,放射性物質(zhì)發(fā)生泄漏咳焚。R本人自食惡果不足惜庞溜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一革半、第九天 我趴在偏房一處隱蔽的房頂上張望流码。 院中可真熱鬧,春花似錦漫试、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叮趴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伤溉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國打工乱顾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宫静,地道東北人券时。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓伏伯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親说搅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容