ワードクラウドの分析とワードの統計図


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-10-18 17:52:25
# @Author  : awakeljw 
# @Link    : http://blog.csdn.net/awakeljw/
# @Version : $Id$


from wordcloud import WordCloud
import jieba
import PIL
import matplotlib.pyplot as plt
import numpy as np
from collections import Counter
import matplotlib
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SentyTang'] #       
mpl.rcParams['axes.unicode_minus'] = False  
matplotlib.rc('xtick', labelsize=14)
matplotlib.rc('ytick', labelsize=14)
def wordcloudplot(txt):
    path='    '
#    path=unicode(path, 'utf8').encode('gb18030')
    alice_mask = np.array(PIL.Image.open('    '))
    wordcloud = WordCloud(font_path=path, 
                          background_color="white",   
                          margin=5, width=1800, height=800,mask=alice_mask,max_words=2000,max_font_size=60,random_state=42) 
    wordcloud = wordcloud.generate(txt)
    wordcloud.to_file('    ')
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()

rem = [',','、','。',' ',' ','\u3000',' ',' ','“','”',' ',' ',' ',' ',' ',' ',' ','
'] def main(): a=[] f=open(r'I:\tensorflow\ciyun\paper.txt','r',encoding='gb18030').read() words=list(jieba.cut(f)) tongji = Counter(words).most_common(20) d = {key: value for (key, value) in tongji} for i in list(d.keys()): if i in rem: d.pop(i) print (d) label = list(d.keys()) y = list(d.values()) idx = np.arange(len(y)) plt.barh(idx,y) plt.yticks(idx+0.4,label) plt.xlabel(' ',fontsize = 20,labelpad = 5) plt.ylabel(' ',fontsize= 20,labelpad = 5) plt.title(' ',fontsize= 25) plt.savefig(' ') #plt.show() # pie chart on polar axis N = len(d) theta = np.arange(0.0, 2*np.pi,2*np.pi/N) radii = y width = np.pi/6 ax = plt.subplot(111,projection='polar') bars = ax.bar(theta, radii, width = width, bottom = 0.0) plt.xticks(theta+np.pi/12,label) for r, bar in zip(radii, bars): bar.set_facecolor(plt.cm.viridis(r / 10.)) bar.set_alpha(0.5) plt.savefig(' pie ') plt.show() for word in words: if len(word)>1: a.append(word) txt=r' '.join(a) wordcloudplot(txt)# if __name__=='__main__': main()
1.wodcloudをインストールし、jiebahttp://www.lfd.uci.edu/~gohlke/pythonlibs/葏wodcloudで対応するpythonバージョンをダウンロードし、cmdでpip install Iを入力します./wodcloud-1.3.2-cp 35-win_amd 64.whlをインストールすれば、jieba:pip install jieba 2.フォントファイルを修正してpythonインストール位置を見つけます.C:\Anaconda 3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf自分でダウンロードした中国語フォントを追加します.個人ユーザーの下にある.matplotlibファイルを削除します.フォントファイルと画像を追加します.コードの中のファイルと画像パスを変更します.デバッグを実行します.