Python生成中文词云图(一):可指定特定的词云形状和颜色。

您所在的位置:网站首页 云形状名称大全 Python生成中文词云图(一):可指定特定的词云形状和颜色。

Python生成中文词云图(一):可指定特定的词云形状和颜色。

2024-07-15 21:17| 来源: 网络整理| 查看: 265

Python生成中文词云图 什么是词云?

首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思。 这里写图片描述

本文目的:

本篇博客主要介绍利用python的wordcloud包实现生成中文词云。可指定特定的词云形状和颜色。 Python生成英文词云图请参见博客Python生成英文词云图。

电脑环境要求:

安装好Pycharm或者Anaconda。建议同时安装Pycharm和Anaconda,并且将Pycharm配置好Anaconda,这样就不用手动安装wordcloud包和jieba分词包等了,以后也不用安装其他一些常用的包了。 安装Pycharm和Anaconda请参见Pycharm中使用Anaconda。

代码实现: #coding=utf-8 #Version:python3.6.0 #添加自定义分词 import jieba from os import path #用来获取文档的路径 #词云 from PIL import Image import numpy as np import matplotlib.pyplot as plt #词云生成工具 from wordcloud import WordCloud,ImageColorGenerator #需要对中文进行处理 import matplotlib.font_manager as fm #背景图 bg=np.array(Image.open("tuoyuan.jpg")) #获取当前的项目文件加的路径 d=path.dirname(__file__) #读取停用词表 stopwords_path='stopwords.txt' #添加需要自定以的分词 # jieba.add_word("叶文洁") #读取要分析的文本 text_path="ziranyuyan.txt" #读取要分析的文本,读取格式 text=open(path.join(d,text_path),encoding="utf8").read() #定义个函数式用于分词 def jiebaclearText(text): #定义一个空的列表,将去除的停用词的分词保存 mywordList=[] #进行分词 seg_list=jieba.cut(text,cut_all=False) #将一个generator的内容用/连接 listStr='/'.join(seg_list) #打开停用词表 f_stop=open(stopwords_path,encoding="utf8") #读取 try: f_stop_text=f_stop.read() finally: f_stop.close()#关闭资源 #将停用词格式化,用\n分开,返回一个列表 f_stop_seg_list=f_stop_text.split("\n") #对默认模式分词的进行遍历,去除停用词 for myword in listStr.split('/'): #去除停用词 if not(myword.split()) in f_stop_seg_list and len(myword.strip())>1: mywordList.append(myword) return ' '.join(mywordList) text1=jiebaclearText(text) #生成 wc=WordCloud( background_color="white", #设置背景为白色,默认为黑色 width=990, #设置图片的宽度 height=440, #设置图片的高度 margin=10, #设置图片的边缘 max_font_size=50, random_state=30, font_path='C:/Windows/Fonts/simkai.ttf' #中文处理,用系统自带的字体 ).generate(text1) #为图片设置字体 my_font=fm.FontProperties(fname='C:/Windows/Fonts/simkai.ttf') #产生背景图片,基于彩色图像的颜色生成器 image_colors=ImageColorGenerator(bg) #开始画图 plt.imshow(wc) #为云图去掉坐标轴 plt.axis("off") #画云图,显示 #保存云图 wc.to_file("tuoyuan3.png") 生成的中文词云图:

这里写图片描述

参考资料:

1、基于python的词云生成(二) 2、Pycharm中使用Anaconda



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3