建议收藏chatGPT说的Python词云教程

写在前面
这个是当下最流行最时髦的AI神器chatGPT和我一起合作写的一篇通用技术文章,请读者笑纳!
Python词云教程
介绍
Python是一种流行的编程语言,它可以用于许多不同的应用程序,包括数据可视化。其中一个最流行的数据可视化技术是词云。词云是一种可视化技术,可以将文本中出现频率较高的单词呈现为更大的字体,从而突出显示它们的重要性。
步骤1:安装所需的库
您需要安装一些Python库,以便可以使用词云功能。其中最重要的是wordcloud和matplotlib库。您可以使用以下命令在命令行中安装这些库:
pip install wordcloud
pip install matplotlib
步骤2:准备文本
在制作词云之前,您需要有一些文本数据。您可以从任何来源获取文本数据,例如:
● 从文件中读取文本
● 从API获取文本
● 从网站中抓取文本
对于这个教程,我们将使用歌词“给你一瓶魔法药水”,例如:
text = """给你一瓶魔法药水

喝下去就不需要氧气

给你一瓶魔法药水

喝下去就不怕身体结冰

轻轻念着你懂的咒语

一扇门就通往银河系

给你一瓶魔法药水

我们一起去太空旅行

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

拥有你 就不需要魔法给的勇气

轻轻念着你懂的咒语

一扇门就通往银河系

给你一瓶魔法药水

我们一起去太空旅行

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

宇宙的有趣我才不在意

我在猜的是 前方的距离 几步走到你

宇宙的有趣我才不在意

我期待的是 今天的晚餐 你想吃哪里

拥有你就不需要魔法给的勇气

你走的方向最后到哪去

可能是火星或者是金星

不管多远多近多累都没关系

我的魔法只对你偏心

我偏心

我偏心

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

宇宙的有趣我才不在意

我在猜的是 奔跑的距离 几步走到你

宇宙的有趣我才不在意

我期待的是 今天的晚餐 你想吃哪里

有你在

就不需要魔法给的勇气
"""
步骤3:生成词云
现在,我们可以使用wordcloud库来生成词云。以下是一个简单的代码示例,可以生成一个基本的词云
from wordcloud import WordCloud
import matplotlib.pyplot as plt

设置词云对象

wordcloud = WordCloud(width=800, height=800, background_color='white', stopwords=set(stopwords)).generate(text)

绘制词云

plt.figure(figsize=(8, 8), facecolor=None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad=0)

显示词云

plt.show()
在这个代码示例中,我们首先导入了WordCloud和matplotlib.pyplot库。然后,我们创建了一个WordCloud对象,并将其设置为宽度和高度为800像素,背景颜色为白色,并使用停用词集合来过滤文本。接下来,我们使用matplotlib.pyplot库绘制词云,并使用plt.show()命令显示它。
步骤4:调整词云
您可以通过向WordCloud对象提供不同的参数来调整词云的外观。例如,您可以更改字体,字体大小,颜色和形状。以下是一些常用的参数:
● font_path:指定用于显示文本的字体文件的路径。
● max_words:指定要包括在词云中的单词的最大数量。
● colormap:指定用于着色的matplotlib colormap。
● mask:指定用于词云的形状。
● 您可以在WordCloud文档中找到完整的参数列表。
下面是一个带有调整的词云示例:

!/usr/bin/env python

-- coding: UTF-8 --

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

歌词文本

text = """给你一瓶魔法药水

喝下去就不需要氧气

给你一瓶魔法药水

喝下去就不怕身体结冰

轻轻念着你懂的咒语

一扇门就通往银河系

给你一瓶魔法药水

我们一起去太空旅行

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

拥有你 就不需要魔法给的勇气

轻轻念着你懂的咒语

一扇门就通往银河系

给你一瓶魔法药水

我们一起去太空旅行

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

宇宙的有趣我才不在意

我在猜的是 前方的距离 几步走到你

宇宙的有趣我才不在意

我期待的是 今天的晚餐 你想吃哪里

拥有你就不需要魔法给的勇气

你走的方向最后到哪去

可能是火星或者是金星

不管多远多近多累都没关系

我的魔法只对你偏心

我偏心

我偏心

宇宙的有趣我才不在意

我在意的是 你牵我的手 而乱跳的心

宇宙的有趣我才不在意

我在意的是 你想跟着我 去月球谈心

宇宙的有趣我才不在意

我在猜的是 奔跑的距离 几步走到你

宇宙的有趣我才不在意

我期待的是 今天的晚餐 你想吃哪里

有你在

就不需要魔法给的勇气
"""

获取形状

mask = np.array(Image.open('img/3.png'))

设置停用词

stopwords = set(["魔法", "宇宙", "有趣", "勇气"])

设置词云对象

wordcloud = WordCloud(width=800, height=800, background_color='white', font_path='C:\Windows\Fonts\simsun.ttc', mask=mask, colormap='viridis', stopwords=set(stopwords)).generate(text)

绘制词云

plt.figure(figsize=(8, 8), facecolor=None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad=0)

显示词云

plt.show()
在这个代码示例中,我们使用一张docker的鲸鱼图片,然后我们还使用numpy和PIL库来处理形状。我们还设置了一些停用词,以便过滤文本。最后,我们使用WordCloud对象创建了一个词云,并使用mask参数指定了形状。我们还使用colormap参数指定了用于着色的colormap,使用font_path参数指定了字体文件的路径。

FAQ
您好,请问Python中的词云中文乱码怎么解决?
好的,这个问题提的很好。

以Windows为例,到C:\Windows\Fonts找到你想要的字体贴到WordCloud参数里面去,像楼下这样,我贴的是宋体常规,一起来试试吧,或者你也可以改worldcloud的源码,我猜一下应该是它默认的那个字体你电脑上没有导致的。

最后来看下效果吧

总结
这是一个简单的Python词云教程,可以让您开始制作自己的词云。您可以使用wordcloud和matplotlib库来生成基本的词云,并使用不同的参数来调整其外观。您还可以使用numpy和PIL库来处理形状。

以上就是今天的全部内容,希望能够在数据分析、做PPT上面帮到你,再见!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python词云中显示中文,可以按照以下方法进行操作: 1. 引用中的代码是使用WordCloud词云库生成词云图的基本代码。但是默认的字体文件DroidSansMono不支持中文显示,所以会出现中文乱码的情况。为了解决这个问题,可以采用以下两种方法之一。 方法一:更换字体文件 你可以选择一个支持中文的字体文件,并将其传递给WordCloud方法的font_path参数。例如,你可以将字体文件的路径设置为SimHei.ttf,然后将其传递给WordCloud方法: ```python wc = WordCloud(font_path='SimHei.ttf') ``` 这样就可以使用SimHei字体来显示中文了。 方法二:下载支持中文的字体文件 你可以从引用的链接中下载支持中文的字体文件,然后将其放到相应的文件夹中。接下来,你需要运行`python setup.py install`命令来安装字体文件,以确保词云库能够找到并使用该字体文件。 总结起来,要在Python词云中显示中文,你可以选择更换字体文件或者下载支持中文的字体文件并安装。这样就可以解决中文乱码的问题了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python使用wordcloud词云库——中文乱码](https://blog.csdn.net/hahalan/article/details/121637058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python词云库wordcloud 显示中文 !!!](https://blog.csdn.net/qq_34777600/article/details/77455674)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值