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

什么是“词云”

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

图片示例:

在这里插入图片描述

代码实现

本文介绍:在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()

最终效果

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

  • 33
    点赞
  • 221
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
在生成Python词云图时,可以通过设置参数max_font_size来控制字体大小。在引用的代码中,参数max_font_size被设置为50,这意味着生成的词云图中,出现频率较高的关键词的字体大小最大为50。所以,Python词云图字体大小为50。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python 创建词云 注意事项](https://blog.csdn.net/weixin_48185819/article/details/123916519)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Python词云图指定形状颜色字体](https://blog.csdn.net/a736755244/article/details/103710539)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python笔记.docx](https://download.csdn.net/download/bxy0806/88235414)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值