|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
背景图
效果图
代码
- 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://juejin.cn/post/7008833196750012452 |
|