几个代码画出漂亮的词云图,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中,你可以使用`numpy`和`PIL`库来加载和处理图像,然后使用`wordcloud`库中的`ImageColorGenerator`和`Mask`类来指定掩码图像。下面是一个简单代码示例: ```python import numpy as np from PIL import Image from wordcloud import WordCloud, ImageColorGenerator # 加载掩码图像 mask = np.array(Image.open("mask.png")) # 加载文本和生成词云 text = "hello world" wordcloud = WordCloud(mask=mask, background_color="white").generate(text) # 根据掩码图像生成颜色 image_colors = ImageColorGenerator(mask) wordcloud = wordcloud.recolor(color_func=image_colors) # 保存词云图像 wordcloud.to_file("wordcloud.png") ``` 在这个例子中,我们加载了一个名为`mask.png`的自定义掩码图像,并使用`WordCloud`类的`mask`参数指定它。然后,我们使用`ImageColorGenerator`类来根据掩码图像生成颜色,并使用`recolor`方法将其应用到词云图像中。最后,我们使用`to_file`方法将词云图像保存到文件中。 注意,掩码图像的形状会影响词云图像的布局和大小,因此你可能需要调整词云的参数来达到最佳效果。 ### 回答2: 要改变词云图的形状,可以按照以下几个步骤进行操作。 首先,选择一个特定形状的图片作为底图。可以选择与主题相关的形状,比如心形、动物、建筑物等等。确保选择的图片是高质量、清晰度较高的。 接下来,使用图像处理软件(如Photoshop)对选择的图片进行编辑,将其调整为透明背景。这将确保最终生成的词云图形状清晰可见,并且只有文字部分有颜色,其他部分是透明的。 然后,将处理好的图片保存为PNG或者SVG格式,以保留图像的高清晰度和透明背景。 接下来,使用词云生成工具,如Python中的WordCloud库,来生成词云图。在生成词云图代码中,通过设置"mask"参数,引用你保存的特定形状的图片。 最后,按照词云生成工具的要求,输入需要生成词云图的文本数据,并设置其他相关参数,如字体、颜色、布局等。 完成以上步骤后,词云生成工具将基于你的文本数据和特定形状的图片生成相应的词云图。生成的词云图中,词语将填充在图片的区域内,形成你所定义的特定形状。 ### 回答3: 要更改词云图的形状,可以按照以下步骤进行操作: 1. 选择合适的形状:首先,选择一个适合的形状作为词云图的基础形状,可以选择心形、动物、植物等多种形状。 2. 准备词云数据:准备好要生成词云图的数据,这些数据可以是文本、单词、关键词等,以及它们对应的权重或频率等信息。 3. 安装词云生成工具:下载安装一个词云生成工具,比如WordCloud。 4. 生成词云图:使用Python等编程语言调用词云生成工具,按照指定的形状和数据生成词云图。 5. 调整形状:根据个人的需求,对生成的词云图的形状进行进一步调整,比如调整大小、位置等。 6. 配色和样式设计:可以根据喜好选择适合的颜色和样式,使词云图更加美观。 总结起来,修改词云图的形状需要选择合适的形状,准备好数据,安装词云生成工具,生成词云图,进行形状调整,并且可以对颜色和样式进行设计,以得到符合自己需求的词云图
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值