wordcloud库生成词云 -python

该代码可从文件中读取数据,并生成对应的词云图片,代码见下:

# author: hr,wu
# location: fudan u.
# time: 2022/4
import random

import jieba
import collections
import re
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from matplotlib import colors


with open('data.txt', encoding='utf-8') as f:
    data = f.read()

# 文本预处理  去除一些无用的字符   只提取出中文出来
new_data = re.findall('[\u4e00-\u9fa5]+', data, re.S)
print(new_data)

list = {}

print()

a = 100
b = 200
for item in new_data:
    list[item] = random.randint(a, b)

#建立颜色数组,可更改颜色
color_list=['#CD853F','#DC143C','#00FF7F','#FF6347','#8B008B','#00FFFF','#0000FF','#8B0000','#FF8C00',
            '#1E90FF','#00FF00','#FFD700','#008080','#008B8B','#8A2BE2','#228B22','#FA8072','#808080']

#调用
colormap=colors.ListedColormap(color_list)


# 绘制词云
my_cloud = WordCloud(
    background_color='white',  # 设置背景颜色  默认是black
    width=900, height=600,
    max_words=100,            # 词云显示的最大词语数量
    font_path='simhei.ttf',   # 设置字体  显示中文
    max_font_size=40,         # 设置字体最大值
    min_font_size=20,         # 设置字体最小值
    random_state=200,           # 设置随机生成状态,即多少种配色方案
    prefer_horizontal=1.0,
    colormap=colormap,
).generate_from_frequencies(list)

# 显示生成的词云图片
plt.imshow(my_cloud, interpolation='bilinear')
# 显示设置词云图中无坐标轴
plt.axis('off')
plt.show()


文件中的内容为:每一行只有一个关键词。
在这里插入图片描述

结果:
在这里插入图片描述

因为参数可调,所以可以按照个人需求来弄,大家发挥自己的文艺细胞来调配色和大小吧,冲!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴同学GOGOGO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值