Python基于wordcloud及jieba实现中国地图词云图


Posted in Python onJune 09, 2020

热词图很酷炫,也非常适合热点事件,抓住重点,以图文结合的方式表现出来,很有冲击力。下面这段代码是制作热词图的,用到了以下技术:

jieba,把文本分词

wordcloud,制作热图

chardet,辨别文件的编码格式,其中中文统一为GB18030,更加的兼容

imageio,提取图片的形状

其他:自动识别文件编码,自动识别txt文件,图片文件名与txt文件一致,使用的是四大名著的文本(自行百度),部分中国地图

上代码:

import os
import jieba
import wordcloud
import chardet
import imageio
 
directory = "D:\\"
mask = imageio.imread(r"D:\map.jpg") # 用于最后图像图形
 
directory_lists = os.scandir(directory)
for directory_list in directory_lists:
 
  if directory_list.is_dir() or directory_list.path.split('.')[-1] != "txt":
    continue
 
  with open(directory_list.path, 'rb') as fd:
    coding = chardet.detect(fd.read()[:1000])['encoding']
    if coding.upper() == 'GB2312' or coding == 'GBK':
      coding = 'GB18030'
  file = open(directory_list.path, 'r', encoding=coding)
  text = file.read()
  file.close()
  jieba_text = ' '.join(jieba.lcut(text))
 
  w = wordcloud.WordCloud(height=800, width=1600, font_path='msyh.ttc', background_color='white', stopwords={'Page'}, mask=mask)
  w.generate(jieba_text)
  w.to_file('{}.png'.format(directory_list.path.split('.')[0]))

输出:

水浒传的如下

Python基于wordcloud及jieba实现中国地图词云图

西游记的如下

Python基于wordcloud及jieba实现中国地图词云图

仔细看输出的内容,还是挺有意思的,哈哈哈。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python轻松实现代码编码格式转换
Mar 26 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
pandas中的series数据类型详解
Jul 06 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
python中wx模块的具体使用方法
May 15 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
pytorch 查看cuda 版本方式
Jun 23 Python
用python发送微信消息
Dec 21 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python中的__init__作用是什么
Jun 09 #Python
python小白学习包管理器pip安装
Jun 09 #Python
Python小白垃圾回收机制入门
Jun 09 #Python
Python中如何添加自定义模块
Jun 09 #Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 #Python
Python如何避免文件同名产生覆盖
Jun 09 #Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 #Python
You might like
利用php绘制饼状图的实现代码
2013/06/07 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
php实现将Session写入数据库
2015/07/26 PHP
php简单防盗链实现方法
2015/07/29 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
JS判断数组那点事
2017/10/10 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
Nest.js散列与加密实例详解
2021/02/24 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
Python PO设计模式的具体使用
2019/08/16 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
党支部党的群众路线对照检查材料
2014/09/24 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电