python绘制中文词云图
准备工作
主要用到Python的两个第三方库
- jieba:中文分词工具
- wordcloud:python下的词云生成工具
步骤
- 准备语料库,词云图需要的背景图片
- 使用jieba进行分词,去停用词,词频统计等
- 使用wordcloud进行词频展示
主要代码
import jieba
jieba.load_userdict('userdict.txt') # 加载自定义词典
sentence_depart = jieba.cut(sentence) # 分词
stop_words = stop_word_list() # 创建停用词列表
out_str = ''
# 去停用词
for word in sentence_depart:
if word not in stop_words:
if word != '\t':
out_str += word
out_str += " "
from os import path
from scipy.misc import imread
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud d = path.dirname(__file__) # 返回当前运行脚本下的绝对路径
back_coloring_path = "1.jpg" # 随意准备一张图片,用来设置词云形状
back_coloring = imread(path.join(d, back_coloring_path)) # 读取图片 f = open(u'out.txt', 'r', encoding='utf-8').read() # out.txt已经处理好的分词数据
tags = jieba.analyse.extract_tags(f, topK=100, withWeight=False) # 关键词提取 topK=100 提取TF-IDF权重最大的前100个关键词
text = " ".join(tags) wordcloud = WordCloud(background_color='white',
width=2000,
height=1000,
margin=2,
max_words=100, # 设置最多显示的词数
mask=back_coloring, # 设置词云形状
font_path="simhei.ttf", # 中文词图必须设置字体格式,否则会乱码,这里加载的是黑体
random_state=10) # 设置有多少种随机生成状态,即有多少种配色方案
w = wordcloud.generate(text) # 传入需画词云图的文本
plt.imshow(w)
plt.axis('off') # 关闭坐标轴
plt.show()
比如:传入如下两张图片作为词图的形状


词云图结果


参考资料:https://www.jianshu.com/p/2052d21a704c
python绘制中文词云图的更多相关文章
- python绘制WordCloud词云图
目录 前言 核心代码 测试 前言 当我们想快速了解书籍.小说.电影剧本中的内容时,可以绘制 WordCloud 词云图,显示主要的关键词(高频词),可以非常直观地看到结果 核心代码 from word ...
- 吃瓜的正确姿势,Python绘制罗志祥词云图
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...
- 超详细:Python(wordcloud+jieba)生成中文词云图
# coding: utf-8 import jieba from scipy.misc import imread # 这是一个处理图像的函数 from wordcloud import WordC ...
- Python3制作中文词云图
1. 准备好文本数据 2. pip install jieba 3. pip install wordcloud 4. 下载字体例如Songti.ttc(mac系统下的称呼,并将字体放在项目文件夹下) ...
- (数据科学学习手札71)在Python中制作个性化词云图
本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 词云图是文本挖掘中用来表征词频的数据可视化 ...
- 用Python制作酷炫词云图,原来这么简单!
一.简介词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些 ...
- [python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写
1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博 ...
- python词云图与中文分词
2019-12-12中文文本分词和词云图具体功能介绍与学习代码: import jiebaa="由于中文文本的单词不是通过空格或者标点符号来进行分割"#jieba.lcut()s是 ...
- python 绘制词云图
1. 先下载并安装nltk包,准备一张简单的图片存入代码所在文件目录,搜集英文停用词表 import nltk nltk.download() 2. 绘制词云图 import re import nu ...
随机推荐
- 一起学Hive——总结常用的Hive优化技巧
今天总结本人在使用Hive过程中的一些优化技巧,希望给大家带来帮助.Hive优化最体现程序员的技术能力,面试官在面试时最喜欢问的就是Hive的优化技巧. 技巧1.控制reducer数量 下面的内容是我 ...
- java集成swagger
概览: java集成Swagger Swagger-UI的使用 Springboot跨域请求的访问解决 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...
- pyqt pyside QLabel 显示图片
pyqt pyside QLabel 显示图片 pixmap = QtGui.QPixmap("D:/myPicture.jpg") label.setPixmap(pixmap) ...
- Codeforces 375B Maximum Submatrix 2 (DP)
<题目链接> 题目大意:给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积. #include <bits/stdc++.h> using namespa ...
- 网络流之最大流Dinic算法模版
/* 网络流之最大流Dinic算法模版 */ #include <cstring> #include <cstdio> #include <queue> using ...
- 04-Python入门学习-流程控制
一.流程控制if 语法1: if 条件: code1 code2 code3 .... age=180 height=163 weight=75 sex='female' is_beautif ...
- 复杂链表的复制(Hard)
问题来源:选自LeetCode 138:复制带随机指针的链表 问题描述: 题目给定信息: 该链表中每一个节点的成员变量都有两个,一个是next指针指向该节点的下一个节点,一个是random指针指向不确 ...
- centos中安装基础环境
进入到相关目录cd /usr/bin安装python3yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-dev ...
- react中constructor()和super()的具体含义以及如何使用
1.constructor()---super( )的基本含义 constructor()--构造方法 这是ES6对类的默认方法,通过new命令生成对象实例时自动调用该方法.并且,该方法是类中必须有的 ...
- __x__(16)0906第三天__层叠样式表CSS简介
层叠样式表CSS Cascading Style Sheets 用来为网页创建样式表,通过样式表对网页进行装饰. 所谓层叠,就是将网页想象成一层一层的结构,层次高的将覆盖层次低的. CSS可以为网页的 ...