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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
一个Python最简单的接口自动化框架
Jan 02 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
计算Python Numpy向量之间的欧氏距离实例
May 22 Python
python爬虫基础知识点整理
Jun 02 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
5款实用的python 工具推荐
Oct 13 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 Python
python标准库ElementTree处理xml
May 20 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
967 个函式
2006/10/09 PHP
php中cookie的使用方法
2014/03/29 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
select组合框option的捕捉实例代码
2008/09/30 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
[00:11]战神迅矛
2019/03/06 DOTA
Python实现图片转字符画的代码实例
2019/02/22 Python
pandas删除指定行详解
2019/04/04 Python
详解python编译器和解释器的区别
2019/06/24 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python基础 range的用法解析
2019/08/23 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
教师自我反思材料
2014/02/14 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
中学生操行评语
2014/04/24 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
客房领班岗位职责
2015/02/11 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS