zoukankan      html  css  js  c++  java
  • 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()

    .

  • 相关阅读:
    Java基础50道经典练习题(33)——杨辉三角
    Java基础50道经典练习题(32)——左移右移
    团队第二阶段冲刺04
    团队第二阶段冲刺03
    团队第二阶段冲刺02
    团队第二阶段冲刺01
    团队意见汇总
    各组意见汇总
    团队第一阶段冲刺07
    绩效评估01
  • 原文地址:https://www.cnblogs.com/xyou/p/15601336.html
Copyright © 2011-2022 走看看