python词云制作(最全最详细的教程)

今天手把手教大家用python制作词云,图片的效果如下:
在这里插入图片描述

首先,需要准备的操作是:
1、安装好python3系列版本
2、安装python第三方库wordcloud;(本条及以下第三方库安装,请参考我的这篇文章python第三方库怎么安装?第三方库安装成功却运行不出报错不能用?)
3、安装numpy、pillow库。
4、安装jieba库
5、安装matplotlib库

第2步中的 wordcloud 安装成功之后,numpy、pillow库会被自动安装,
安装完wordcloud库之后,若打开cmd,输入pip list 找到了以上步骤3~5中提到的第三方库,
便不需再次手动安装,若未找到,即需要手动安装,请参考python第三方库怎么安装?第三方库安装成功却运行不出报错不能用?这篇文章

温馨提示,如出现安装成功却无法在编译器中导入第三方库的情况,请检查自己的电脑是否装了多个版本的python,如是,请卸载不需要的版本,尽可能只保留一个最新的版本。

完成以上步骤之后,下面我来讲一下如何制作最开始提到的两张词云
一、第一张:
在这里插入图片描述

生成词云时,wordcloud 默认会以空格或标点为分隔符对目标文本进行分词处理。
对于中文文本,分词处理需要由用户来完成。
一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。
处理中文时还需要指定中文字体。
例如,选择了微软雅黑字体(msyh.ttf)作为显示效果,需要将该字体文件与代码存放在同一目录下或在字体文件名前增加完整路径。

1、打开自己电脑C:\Windows\Fonts
在这里插入图片描述
2、选择微软雅黑字体(msyh.ttf)作为显示效果(当然也可以选择自己喜欢的字体样式)
右键复制,并将该字体文件与代码存放在同一目录下(或在字体文件名前增加完整路径),
将此文字文件命名为"msyh.ttf"
在这里插入图片描述

3、完整代码如下,

import jieba
from wordcloud import WordCloud
txt = '弱小的人,才习惯,嘲讽和否定,而内心,强大的人,从不吝啬赞美和鼓励!我们就是后浪,奔涌吧!后浪,奔涌吧!'
words = jieba.lcut(txt)     #精确分词
newtxt =</
### 回答1: 生成关键图需要使用Python中的第三方库wordcloud和jieba。首先需要安装这两个库,可以使用以下命令进行安装: ``` pip install wordcloud pip install jieba ``` 接下来,我们可以使用如下代码生成关键图: ```python import jieba from wordcloud import WordCloud, STOPWORDS import matplotlib.pyplot as plt # 读取文本文件 with open('text.txt', 'r', encoding='utf-8') as f: text = f.read() # 分处理 words = jieba.cut(text) words = ' '.join(words) # 去除停用 stopwords = set(STOPWORDS) stopwords.add('的') stopwords.add('了') stopwords.add('是') # 生成图 wc = WordCloud( background_color='white', # 背景颜色 stopwords=stopwords, # 停用 max_words=200, # 多显示数 font_path='msyh.ttc', # 字体文件路径 margin=5 # 边距 ).generate(words) # 显示图 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() # 保存图 wc.to_file('wordcloud.png') ``` 其中,`text.txt`是待处理的文本文件,需要将其放在与代码同一目录下。在生成图时,我们使用了中文分工具jieba对文本进行分,并去除了一些常见停用。此外,我们还可以设置图的一些参数,如背景颜色、多显示数、字体文件路径等。后,使用`imshow`函数将图显示出来,并使用`to_file`函数将其保存到本地。 ### 回答2: Python生成关键图的过程主要包括以下步骤: 1. 数据准备:首先需要准备要生成图的数据,可以是一段文本、文章、网页内容等。例如,我们可以使用Python的`requests`库爬取网页内容,或者读取本地文件。 2. 文本处理:将获取到的文本进行处理,去除无意义的语、标点符号、停用等。可以使用Python的`jieba`库进行分,`nltk`库进行停用的过滤。 3. 关键提取:根据处理后的文本, 使用Python的`TF-IDF`算法或者`TextRank`算法提取关键。可以使用`gensim`库或`textrank4zh`库等。 4. 生成图:根据提取到的关键,使用Python的`wordcloud`库生成图。可以设置的形状、背景颜色、字体样式、语大小等。 5. 显示图:后可以使用Python的`matplotlib`库或者`pyplot`库将生成的图进行显示和保存。 下面是一个简单的示例代码: ```python import requests import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 获取文本数据 url = 'http://example.com' response = requests.get(url) text = response.text # 文本处理 # 去除停用,可以自行准备停用表 stopwords = ['的', '了', '是', '我', '你'] seg_list = jieba.cut(text) seg_list = [word for word in seg_list if word not in stopwords] # 关键提取 keywords = ' '.join(seg_list) # 将分好的连接成字符串 # 生成图 wordcloud = WordCloud().generate(keywords) # 显示图 plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.show() ``` 通过上述步骤,我们可以使用Python生成关键图。当然,具体的实现方式还可以根据自己的需求进行调整和优化。 ### 回答3: 生成关键图是利用Python中的一些库和模块来实现的。首先,我们需要安装和导入一些相关的库,比如jieba用于中文分,wordcloud用于生成图,matplotlib用于显示图。 具体操作步骤如下: 1. 安装所需库:在命令行中输入以下命令安装所需库。 ``` pip install jieba pip install wordcloud pip install matplotlib ``` 2. 导入所需库:在Python脚本中导入所需库。 ```python import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt ``` 3. 准备文本数据:将需要生成图的文本保存在一个字符串中。 ```python text = "我爱中国,我喜欢学习编程,Python是一门很有用的编程语言。" ``` 4. 中文分:使用jieba库对文本进行中文分。 ```python words = jieba.lcut(text) ``` 5. 统计频:统计每个出现的次数。 ```python word_counts = {} for word in words: if len(word) > 1: # 过滤掉单个字符 word_counts[word] = word_counts.get(word, 0) + 1 ``` 6. 生成图:使用WordCloud库生成图。 ```python wordcloud = WordCloud(font_path="SimHei.ttf", width=800, height=400).generate_from_frequencies(word_counts) ``` 7. 显示图:使用matplotlib库显示生成的图。 ```python plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() ``` 以上就是用Python生成关键图的基本步骤,通过逐步操作可以得到一个简单的关键图。当然,还可以根据自己的需求进行一些参数调整,如字体、颜色、形状等,以生成更加个性化的图。
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李桥桉

支持一下作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值