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

什么是“词云”

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

图片示例:

Python词云图:指定形状、颜色和字体_第1张图片

代码实现

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

最终效果

默认样式:
Python词云图:指定形状、颜色和字体_第2张图片
自定义样式:
Python词云图:指定形状、颜色和字体_第3张图片

你可能感兴趣的:(Python)