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获取文件ssdeep值的方法
Oct 05 Python
python 网络编程常用代码段
Aug 28 Python
Python Socket编程详细介绍
Mar 23 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
PYTHON基础-时间日期处理小结
May 05 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
python实现进度条的多种实现
Apr 29 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
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
python数组过滤实现方法
2015/07/27 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
同学会邀请书大全
2014/01/12 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
会计主管岗位职责
2015/04/02 职场文书
教师创先争优承诺书
2015/04/27 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技