Python词云图:指定形状、颜色和字体

本文详细介绍如何使用Python的wordcloud模块生成词云图,包括指定图片形状、大小、颜色和字体等自定义设置,以及解决中文乱码问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是“词云”

“词云”就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。

图片示例:

在这里插入图片描述

代码实现

本文介绍:在python中使用wordcloud模块生成词云图,可指定图片的形状、大小、颜色和字体
1、python环境搭建及一些基础配置,本文不做阐述,可自行查阅资料
2、词典获取及词云图中文乱码等问题请参照这片文章:https://blog.csdn.net/a736755244/article/details/103454290
3、本文代码及相关文件地址:
https://github.com/736755244/custompic
4、功能代码如下:

import jieba  # 分词
from wordcloud import WordCloud  # 词云图相关
import matplotlib.pyplot as plt
import matplotlib.colors as colors  # 处理图片相关内容
import numpy
from PIL import Image

# 生成词云方法(以庆余年小说为例)
def get_wcloud():
	# 读取小说内容
    with open(r'庆余年.txt', 'r', encoding='gbk') as txt:
        data = txt.read()
    # 加载词典
    jieba.load_userdict('scel_to_text.txt')
    # 也可以添加自定义词典
    jieba.add_word('范慎')
    jieba.add_word('范闲')
    # 将文件中所有文字分词
    words_list = jieba.lcut(data)
    # 用空格分隔词语
    tokenstr = ' '.join(words_list)
    # 打开背景图片
    color_mask = numpy.array(Image.open('map.png'))
    # 自定义文字颜色
    colormaps = colors.ListedColormap(['#FF0000','#FF7F50','#FFE4C4'])
    # 生成词云(默认样式)
    # mywc1 = WordCloud().generate(tokenstr)
    # 生成词云(自定义样式)
    mywc1 = WordCloud(
        mask=color_mask,  # 指定背景图形状
        colormap=colormaps,  # 指定颜色
        # font_path='C:/Windows/Fonts/simkai.ttf',  # 指定字体
        background_color='white',  # 指定背景颜色,默认黑色
        width=800,  # 指定宽度
        height=600  # 指定高度
    ).generate(tokenstr)
    # 显示词云
    plt.imshow(mywc1)
    plt.axis('off')
    plt.show()
    mywc1.to_file('庆余年.png')  # 生成词云图片

if __name__ == '__main__':
    get_wcloud()

最终效果

默认样式:
在这里插入图片描述
自定义样式:
在这里插入图片描述

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值