zoukankan      html  css  js  c++  java
  • 词云分析《天龙八部》人物出现次数

    一.需要的三方库

    1.安装词云:

      pip install wordcloud

    2.安装结巴

      pip install jieba

    3.安装matplotlib

      pip install matplotlib

    二.实现代码

     1 import jieba # 分词函数
     2 from scipy.misc import imread  # 这是一个处理图像的函数
     3 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
     4 import matplotlib.pyplot as plt # 分析数据的函数
     5 
     6 file_apath = open('tlbb.txt','r',encoding='UTF-8').read() # 打开文件
     7 bg_pic = imread('map.jpg') # 图片路径
     8 
     9 # 王语嫣, 慕容复, 木婉清, 游坦之, 鸠摩智, 段延庆,包不同, 丁春秋, 阿紫, 阿朱, 段正淳, 钟万洪, 风波恶, 天山童姥, 耶律洪基...........
    10 
    11 jieba.add_word('乔峰') # 添加关键词
    12 jieba.add_word('段誉')
    13 jieba.add_word('虚竹')
    14 
    15 jieba.add_word('王语嫣')
    16 jieba.add_word('慕容复')
    17 jieba.add_word('木婉清')
    18 jieba.add_word('段正淳')
    19 jieba.add_word('鸠摩智')
    20 jieba.add_word('游坦之')
    21 jieba.add_word('包不同')
    22 jieba.add_word('钟万洪')
    23 jieba.add_word('耶律洪基')
    24 jieba.add_word('萧峰')
    25 jieba.add_word('南海恶神')
    26 jieba.add_word('阿朱')
    27 jieba.add_word('钟灵')
    28 jieba.add_word('阿碧')
    29 jieba.add_word('阿紫')
    30 jieba.add_word('玄慈')
    31 
    32 
    33 
    34 
    35 wordlist_jieba = jieba.cut(file_apath, cut_all = True) # 使用jieba分词
    36 world_split = " ".join(wordlist_jieba) # 分词后的数据
    37 
    38 
    39 my_wordcloud = WordCloud(background_color='white', # 设置背景色
    40                         max_font_size=50, # 字体大小
    41                         width=2100, height=1400,margin=2,  # 图片的宽,高,和边距
    42                         mask=bg_pic, # 设置背景图片
    43                         font_path="C:/Windows/Fonts/simhei.ttf"# 设置字体路径
    44                         # random_state=42,      
    45                         )
    46 # 屏蔽关键词
    47 stopwords=STOPWORDS.add('自己')
    48 stopwords=STOPWORDS.add('说道')
    49 stopwords=STOPWORDS.add('什么')
    50 stopwords=STOPWORDS.add('他们')
    51 stopwords=STOPWORDS.add('一个')
    52 stopwords=STOPWORDS.add('不是')
    53 stopwords=STOPWORDS.add('便是')
    54 stopwords=STOPWORDS.add('甚么')
    55 stopwords=STOPWORDS.add('不知')
    56 stopwords=STOPWORDS.add('咱们')
    57 stopwords=STOPWORDS.add('我们')
    58 stopwords=STOPWORDS.add('可是')
    59 stopwords=STOPWORDS.add('只是')
    60 stopwords=STOPWORDS.add('如此')
    61 stopwords=STOPWORDS.add('这些')
    62 stopwords=STOPWORDS.add('倘若')
    63 stopwords=STOPWORDS.add('怎么')
    64 stopwords=STOPWORDS.add('这么')
    65 
    66 
    67 my_wordcloud.generate(world_split)  # 生成词云
    68 image_colors = ImageColorGenerator(bg_pic)  # 转换字体主题色与图片一致
    69 # 绘制词云
    70 plt.figure()
    71 plt.imshow(my_wordcloud.recolor(color_func=image_colors))
    72 plt.title('Word Cloud') # 词云标题
    73 plt.axis("off") # 关闭词云
    74 plt.show() # 显示生成的词云图片
    75 my_wordcloud.to_file('ciyun.png') # 保存图片

    三.实现效果

      

  • 相关阅读:
    JS 中 new 操作符
    js清除浏览器缓存的几种方法
    一个自定义分享按钮
    解决windows下nginx中文文件名乱码
    sublime text 3 添加 javascript 代码片段 ( snippet )
    transition动画最简使用方式
    hammerjs jquery的选项使用方法,以给swipe设置threshold和velocity为例
    sublime text 3 的emmet 添加自定义 html 片段
    解决 placeholder 垂直不居中,偏上的问题
    Sublime Text 3 配置 sass
  • 原文地址:https://www.cnblogs.com/kadycui/p/9588942.html
Copyright © 2011-2022 走看看