python製作詞雲,(中文亂碼,圖片小解決)

使用python製作詞雲

環境問題:

  製作詞雲需要使用wordcloud,matplotlib模塊,wordcloud中要使用空格隔開的文本。

  windows下據說是要使用Anaconda,我是在linux下操作的,直接命令裝環境就行了

分開文本,英文比較方便,中文分開文本,中文可以使用jiba模塊。先不說這一部分

先看代碼:

# coding=utf-8
from wordcloud import WordCloud
import sys, cv2

filename = sys.argv[1]
mytext = open(filename, encoding='utf8').read()  # 打開文本
wc1 = WordCloud(
    background_color='Black',  # 背景色
    width=2000,  # 寬度
    height=1000,  # 高度
    font_path='STXINWEI.TTF',  # 字體文件,此處與py文件放在同一目錄
    margin=1  # 詞語邊緣距離
)
wc2 = wc1.generate(mytext)  # 繪製詞雲

'''保存圖片'''
filename = '{}.png'.format(filename)
wc2.to_file(filename)

'''顯示圖片'''

img = cv2.imread(filename)
cv2.imshow('img', img)
cv2.waitKey(0)

 使用時:

python3 test.py mytext.txt

  本處使用的文本文件內的數據已經是空格分開的文本。

  也可以使用使用matplotlib,matplolib中pyplot的代碼需要修改dpi的,否則生成的詞雲不清晰,詞雲太小,pyplot默認的dpi是100,使用默認dpi會使圖片很小,稍微放大就不能看了。我修改的600。具體多少看自己。推薦使用上面一份代碼。

第二份代碼:

# pyplot保存,顯示圖片
from matplotlib import pyplot as plt

plt.rcParams['figure.dpi'] = 600  # 修改dpi
plt.rcParams['savefig.dpi']=600   # 修改dpi
plt.axis('off')
plt.imshow(wc2)
plt.savefig('{}.jpg'.format(filename))
plt.show()

 

上效果圖:

英文的:

中文的


 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章