随笔 - 75  文章 - 0  评论 - 1  阅读 - 17192

Python制作简单的词云

背景图

https://img1.sycdn.imooc.com/614848dc00011a9210200992.jpg

效果图

https://img2.sycdn.imooc.com/614848dd0001aec108700772.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()

 

.

posted on   itips  阅读(83)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示