wordcloud库与可视化词云以及一些遇到的坑

Wordcloud库与可视化词云

今天在学Python的利用wordcloud库制作一些简单的可视化词云。下面梳理一下今天遇到的几个坑:

坑一

第一个肯定是个大坑,就是scipy库的imread方法问题,试了网上的很多种办法都还是一直报错(cannot import name ‘imread’ from ‘scipy.misc’),按照网上的方法安装各种库也都没有用。直到看到一篇大佬的博客,scipy.misc.imread()被弃用,应该用imageio.imwrite()来替代标题为scipy.misc.imread()被弃用,应该用imageio.imwrite()来替代。所以我果断的选择放弃scipy这个库,转而安装matplotlib和imageio这两个库,imageio库里也有imread的方法,但调用的话也必须安装matplotlib这个库,否则就会报错。这两个库我是在pycharm里下载,如果安装时一直出现timeout类型的问题,就换为中国的源地址,可参考文章解决PyCharm下载Python第三方库时速度慢的问题
代码如下:(ChinaMask为图片文件名)

import imageio
mask = imageio.imread('ChinaMask.png')
坑二

第二个就是出来的结果,图片上没有汉字,都是各个颜色的方框,后来了解到是因为没有设置中文字体

wordcloud = WordCloud( font_path='msyh.ttc').generate(newtxt)  #微软雅黑字体(msyh.ttc)
坑三

如果遇到图片字迹不清楚的,可以在WordCloud里设置参数scale=4,数字越大图片越清楚,要求电脑配置也就越高。可参考文章用Python和WordCloud绘制词云(内附让字体清晰的秘笈)

附源代码及效果:

```python
from wordcloud import WordCloud
import jieba
import imageio
mask = imageio.imread('ChinaMask.png')
f = open('shijiuda.txt','r',encoding='utf-8')
#f='''同学们可将感兴趣的段落复制于此来制作词云
#。'''
txt = f.read()
words=jieba.lcut(txt) #精确分词
newtxt=''.join(words) #空格拼接
wordcloud = WordCloud(background_color='white',
                      font_path='msyh.ttc',
                      width=800,
                      height=600,
                      max_words=200,
                      max_font_size=80,
                      mask=mask,
                      ).generate(newtxt)
wordcloud.to_file('China.png') #决定词云形状的图片

效果图因涉及政治因素一直审核不通过就被删了

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值