• 词云大作业(普哥、硕哥快来看啊!!!)


    1、文章来源

    选自学习强国app中的文章,文章名为:《中国海军:既是国之利刃也是和平使者。》

    2、编程程序的基本思路

    要做词云,首先要进行词频统计。wordcloud库特别厉害,可以直接帮助我们进行词频统计。但是对于中文一定要用通过jieba库对其进行分词处理之后,wordcloud库才能对其进行词频统计,出来词云的效果。

    3、过程说明

    首先从简单的开始,初步写了一个程序,程序如下:

    效果图如下:

    可以说我初步做出了一个词云,但是词云中的词语数量太多,看起来的效果不是很好,也无法很好体现出文章的特点。所以这时我在w=wrodcloud.WordCloud()中添加了代码'max_word=25'。在运行一下效果如下:

    这时候看的就舒服多了,词云中的特征也更加明显了。但是我仔细看了下,里面比如一支,一个这样的词语可以说对于体现文章特点的效果来说不是很好。所以我又在w=wrodcloud.WordCloud()中添加了另一个代码‘stopwords={'一支’,'一个'}',效果如下:

    这样是不是效果好多了呢,其中wordcloud库中有许多函数来使词云的效果更好比如:

    font_step 指定词云中字体字号的步进间隔,默认为1(w=wordcloud.WordCloud(font_step=2))

    min_font_size 指定词云中字体的最小字号,默认4号(w=wordCloud.Wordcloud(min_font_size=10))

    max_font_size 指定词语中字体的最大字号,根据高度自动调节 (w=wordCloud.Wordcloud(max_font_size=20))

    还有很多函数等着大家去尝试,让自己做出的词云效果更好。

    但是这时候的词云形状是方块,我感觉还是太过于单调。于是想做出有特点的词云形状。根据教材和网课的介绍,这时候我们需要用到scipy,因为scipy库是第三方库,于是我去cmd命令中进行下载。下载好之后,运用时却发生了问题。

     

    这时我就感到很奇怪了,明明代码没有问题为何出现了这样的问题。于是我通过上网查询,终于知道了答案。因为我下载的是最新版的scipy库,但最新版本的scipy库里imread 模块被移除了。所以我们无法运用这个函数。这时候我们可以有两个方法解决这个办法:

    1、pip install scipy==1.2.1,在cmd命令中输入这个代码,让你的scipy库的版本回到从前就可以使用imread模块了,操作和下载python第三方库一样。

    2、本人用的是这个方法(也推荐这种),我用了另一个库来替代scipy库,这个库就是imageio库,同样也是在cmd命令中进行下载,方法与下载python第三方库一样。

    关于图片:png、jpg这两种形式都行。我这里选用了心形的图片。

     

    最终效果如下:

       

    这样效果是不是就好多了。好这就是此次大作业的所有内容,但是在做这个词云的时候我还遇到了两个问题没有解决。1、就是我的词云出现了重复的词语该如何解决。2、我之前用的许多形状较为复杂的图片,词云就无法显示出图片的形状,还是方形。本人计算机水平有限,如有计算机水平好的同学希望告诉我如何解决这两个问题,同时也请同学们多多批评指正。

  • 相关阅读:
    python安装requests
    Python多线程基本操作
    Python连接mysql基本操作
    Python中文问题
    Python 3.6.5 导入pymysql模块出错:No module named 'pymysql'
    python安装pyMysql
    HTML, CSS. JS的各种奇葩bug
    css移动元素的几种方法
    三张图看懂 clientheight、offsetheight、scrollheight
    伪类和伪元素的区别
  • 原文地址:https://www.cnblogs.com/pythonyx/p/12650383.html
Copyright © 2020-2023  润新知