python绘制词云图的心得体会,python如何制作词云图

本文详细介绍了如何使用Python进行词云生成,包括分词(如jieba)、排除无关词汇、设置参数(如max_words、font_path等)以及生成和保存词云图的过程。作者还分享了解决常见问题的方法,如安装库和配置环境。
摘要由CSDN通过智能技术生成

大家好,给大家分享一下基于python的词云生成及可视化,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

Source code download: 本文相关源码

大家好,小编来为大家解答以下问题,python制作词云图片的三个步骤,python绘制词云图的心得体会,今天让我们一起来看看吧!

**

词云图制作笔记 前期准备**

今天学习了一下python制作各种形状的词云图
首先我遇到的问题是python没有装在c盘
在cmd中找不到python和其下的pip
解决方法是在我的电脑属性高级设置path中添加一个含有python程序的路径
之后碰到的问题就是pip下载数据太慢
后来查询网络知道了我们可以从清华的镜像下载该库
具体指令为(下面这句是在用pip下载matplotlib)

C:\Users\NEKO>python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

效果拔群

之后也许你还会缺少一些库 比如捷霸分词(结巴分词这个名字不知道是从哪里出来的) 不过用pip挨个下载下来就好了

关于制作词云图,它可以自动的整理词频,并且按照你想要的形状生成词云图具体操作如下

最重要的也是第一步,其实是分词

先介绍一下import的三种情况
import jieba 这是把捷霸库全部引用了 类似于c的#include<stdio.h>
import matplotlib.pyplot as plt 顾名思义 他是为了把一个特别长的函数简化(as)去一个新名字 这个就是给那一长串取了一个新名字plt
from wordcloud import WordCloud,STOPWORDS 而这句话是从这个库中引用了几个新的类 而不是全部引用,也很方便

知道上述的条件,我们来引用需要的库函数

import re #排除某些符号
import jieba    #分词库
from wordcloud import WordCloud,STOPWORDS #云图生成
import  matplotlib.pyplot as plt  #制图并且显示

其实matplotlib是wordcloud运行必须要使用的,他俩相辅相成

text = open("analysis.txt",'r',encoding='utf-8').read()    #读取想要的文本
resultword=re.sub("[A-Za-z0-9\[\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\'\,\[\]\.\<\>\/\?\~\。\@\#\\\&\*\%]", "",text) 
#这一句是为了排除所有的英文和标点
mytext = jieba.cut(resultword,cut_all=False)        #这句话才是正宗的分词,如果你不懂后面的cut_all=False 请前往jieba分词基础学习精确分词和普通分词的区别
wt = " /".join(mytext)        #.join的作用是把所有的空格用/代替掉,这样就分出了一堆带有/的句子

接下来的目的是取消一些没有用的词 比如地名这些干扰你生成词云图的文字
顺带一提你不用担心像“的”“我”“他”这类词会被分出来,分词的时候会消除掉的

sw=set(STOPWORDS)    #设置了要调过的词
sw.add("长安")
sw.add("公主")
准备工作做完了 最重要的制图出现了!
wc = WordCloud(scale=6 ,#这一条决定了图片的清晰度,越高越难渲染
               background_color = "white", #设置背景颜色
               max_words = 100, #设置最大显示的字数
               font_path = "simhei.ttf",  #设置中文字体,词云默认字体是“DroidSansMono.ttf字体库”,不支持中文
               max_font_size = 80, #最大的字体大小
               stopwords=sw,#这是要排除掉的词
               mask=plt.imread('heart.jpg'),   #这个背景图决定了你的云图长什么样,要注意字体和这个图片都要跟源文件(.py)放在一个文件夹里,不然他找不到
               random_state = 30, #设置有多少种随机生成状态,即有多少种配色方案
               ) #wordcloud就是一个类 生成的时候我们在这里设置它的参数

在此之后我们就可以试着去生成他们了

mycloud= wc.generate(wt)   #决定有哪些词要被放进这个词云图
plt.imshow(mycloud)            #下面三行都是生成图像的必要操作 缺一不可 如果不关掉axis会导致出现坐标系 很难看 一看就知道是fake云图
plt.axis("off")
plt.show()

如果你希望在生成云图的同时可以有存储一个图片文件
那么最后一句

mycloud.to_file('result.jpg') #存储图片在当前文件夹

这就是我最近学到的所有有关python生成词云图的知识 我感觉挺好的 接下来可以学习爬虫在网站分析数据(比如微博) 这样就可以做一些有意义的研究了

下面附几张图片吧
用来背景的图片和云图
心形图片

谢谢大家~ 这是随便找网上的小说分析的结果生成的图片

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值