• 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()

    .

  • 相关阅读:
    禅道学习(一)
    遍历
    php特性
    jsonRPC
    model
    水仙花数(详细2
    水仙花数(详细1
    递归求n 项和
    poj 1651
    nyist 289
  • 原文地址:https://www.cnblogs.com/xyou/p/15601336.html
Copyright © 2020-2023  润新知