几个代码画出漂亮的词云图,python最简单的词云图教程(建议收藏)

在开始编写程序之前,我们先了解一下词云图的作用,我们拿到一篇文章,想得到一些关键词,但文章篇幅很大,无法短时间得到关键词,这时我们可以通过程序将文章中的每个词组识别出来,统计每个词组出现的次数,出现次数越多,字号越大,最后吧所有词组拼成一张图,这就是词云图了。

现在开始写程序

import jieba
import wordcloud
import imageio

首先,我们导入 jieba,wordcloud库,这2个库是第三方库,需要自己安装,imageio是python自带库不需要安装

安装方法:

pip install jieba

pip install wordcloud

Ps:因为我用的是Windows系统,所以这里只有Windows系统安装方法,其他系统需要读者去网上自寻

第二步

我们打开需要制作词云图的文件

with open('F:/三国..txt',encoding='utf-8') as f:
    t=f.read()

下面我们将文章中的词组提出来

ls=jieba.lcut(t)
txt=" ".join(ls)

我们现在已经把所有词组提取出来,以空格分开,并保存在txt中

下一步,我们需要定义一个词云

w=wordcloud.WordCloud(width=2000,
height=1400,
font_path="msyh.ttc")

Width=2000,height=1400及词云图,高1400像素,宽2000像素,font_path=msyh.ttc,及使用微软雅黑字体,这些参数读者可以随意修改。

现在我们将词组变量txt导入词云对象w中并保存

w.generate(txt)
w.to_file(r'F:\pic5.png')

如图所示,我们制作的词云图为黑色,且不美观,不具有可观性,这时我们进行下一步,对词云图的颜色,型状进行修饰

首先,关于词云图的颜色问题,因为wordcloud函数存在默认背景色,改变背景色发法

w=wordcloud.WordCloud(width=2000,
height=1400,
font_path="msyh.ttc",
background_color='white')

这里我将背景色定义为白色

紫色 purple 粉红色 pink

蓝色 blue    红色 red

黑 色 black 黄 色yellow

青 色 cyan金 色 glod

棕色 brown 白色 white

你也可以使用其他颜色单词,这时你可能会想如何修改字体的颜色

w=wordcloud.WordCloud(width=2000,
height=1400,
font_path="msyh.ttc",
colormap='cool')

colormap是matlab的内置函数,内涵多种颜色组合的条形渐变图

关于其他颜色组合,读者可以去网上查询

到了这一步,我们制作的词云图显得有一点高大上,这时我们想要改变词云图的型状,我们需要自己准备一张图片,内涵我们想要的图形,下面,我将以爱心、皮卡丘为例。

mask=imageio.imread('F:\pi.png')
#F:\pi.png为图片路径
w=wordcloud.WordCloud(width=2000,height=1400,font_path="msyh.ttc",mask=mask)

这时我们得到了我们想要的词云图

 Ps:注意选取图片一定要是白底

程序代码

import jieba
import wordcloud
import imageio
mask=imageio.imread('F:\pi.png')
with open('F:/三国..txt',encoding='utf-8') as f:
    t=f.read()
ls=jieba.lcut(t)
txt=" ".join(ls)
w=wordcloud.WordCloud(width=2000,height=1400,
font_path="msyh.ttc",colormap='cool',
background_color='white',mask=mask)
w.generate(txt)
w.to_file(r'F:\pic2.png')

  • 62
    点赞
  • 621
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 以下是一个简单词云图Python代码示例: ```python import wordcloud from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取文本文件 with open("input.txt", "r", encoding="utf-8") as f: text = f.read() # 创建词云对象 wordcloud = WordCloud(background_color="white", width=800, height=400).generate(text) # 显示词云图片 plt.figure(figsize=(12, 6)) plt.imshow(wordcloud) plt.axis("off") plt.tight_layout(pad=0) plt.show() # 保存词云图片 wordcloud.to_file("output.png") ``` 你可以将`input.txt`替换为你的文本文件,然后运行上述代码即可生成词云图并保存为`output.png`。当然,你可以根据需要修改词云图的大小、背景色、字体等参数。 ### 回答2: 词云图是一种以词语频率作为权重,显示在图像上的可视化表达方式。下面是使用Python中的WordCloud库来生成词云图代码: 首先,需要安装WordCloud库。可以使用pip命令进行安装: ``` pip install wordcloud ``` 导入所需的库,并读取文本文件: ```python import numpy as np from PIL import Image from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取文本文件 text_file = open("text.txt", "r", encoding="utf-8") text = text_file.read() text_file.close() ``` 生成词云图: ```python # 定义词云参数 wc = WordCloud( font_path='msyh.ttc', # 设置字体,需要提供字体文件路径 background_color="white", # 设置背景颜色 max_words=2000, # 设置最大显示的词数 mask=np.array(Image.open("mask.png")), # 设置词云形状,可以用任何图片 max_font_size=100, # 设置字体最大值 random_state=42, # 设置随机生成状态,即每次生成的结果都一样 ) # 生成词云图 wc.generate(text) # 显示词云图 plt.imshow(wc, interpolation="bilinear") plt.axis("off") plt.show() ``` 保存词云图到文件: ```python # 保存词云图到文件 wc.to_file("wordcloud.png") ``` 以上代码中,需要注意的是字体文件路径和形状图片路径需要根据实际情况进行修改。另外,该代码生成的词云图会显示在一个新的窗口中,可以通过`plt.savefig()`方法保存为图片文件。 ### 回答3: 词云图是一种常用的可视化方式,用于展示文本数据中词语的频率大小和重要程度。Python中可以使用第三方库wordcloud来生成词云图。 首先,需要安装wordcloud库,可以使用pip命令进行安装。 ```python pip install wordcloud ``` 然后在代码中导入相应的库。 ```python import matplotlib.pyplot as plt from wordcloud import WordCloud ``` 接下来,可以通过读取文本文件或直接使用字符串来生成词云图。 ```python # 读取文本文件 text = open('text.txt', 'r', encoding='utf-8').read() # 或者直接使用字符串 text = "这是一个示例文本" # 创建词云图对象 wordcloud = WordCloud() # 生成词云图 wordcloud.generate(text) ``` 生成词云图后,可以对词云图进行一些设置,比如设置字体、颜色等。 ```python # 设置字体 wordcloud.font_path = 'font.ttf' # 设置背景色 wordcloud.background_color = 'white' # 设置最大词数 wordcloud.max_words = 50 # 设置显示模式 wordcloud.mode = 'RGB' ``` 最后,使用plt显示和保存词云图。 ```python # 显示词云图 plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.show() # 保存词云图 wordcloud.to_file('wordcloud.png') ``` 以上就是用Python生成词云图的基本代码。根据需求,可以根据上述代码进行自定义和调整,以达到想要的词云图效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值