Python制作简单的词云

个人博客

http://www.milovetingting.cn

背景图

mask.jpg

效果图

sample.jpg

代码

from os import path
import jieba
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt


def handle_data():
    """
    处理文本数据
    :return:
    """
    # 读取数据
    with open("data.txt", "r") as f:
        txt = f.read()

    # 去除无效数据
    re_move = [",", "。", " ", '\n', '\xa0']
    for i in re_move:
        txt = txt.replace(i, " ")

    # 使用精确分词模式
    word = jieba.lcut(txt)

    # 保存数据
    with open("data_handled.txt", 'w') as file:
        for i in word:
            file.write(str(i) + ' ')


def generate_image():
    """
    生成图片
    :return:
    """
    # 读取数据
    with open("data_handled.txt", "r") as file:
        txt = file.read()

    # 图片路径
    d = path.dirname(__file__)

    # 生成mask
    mask = np.array(Image.open(path.join(d, "mask.jpg")))

    # 生成word
    word = WordCloud(
        background_color="white",
        width=800,
        height=800,
        mask=mask,
        # 字体路径,WordCloud默认不支持中文,这里的SimHei.ttf需要下载放到系统字体库目录下
        font_path='SimHei.ttf'
    ).generate(txt)

    # 保存图片
    word.to_file('world_cloud.png')

    # 使用plt库显示图片
    plt.imshow(word)

    plt.axis("off")

    plt.show()


if __name__ == '__main__':
    handle_data()
    generate_image()

参考

https://blog.csdn.net/loveyouandc/article/details/88193641

https://www.cnblogs.com/djdjdj123/p/12153603.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容