WordCloud 实现词云(升级版)

WordCloud 实现词云(升级版)

1.读取图片

text = open('xinhuawang.txt','r',encoding='utf8').read()

2.提取关键字和权重

freq = jieba.analyse.extract_tags(text, topK=200, withWeight=True)
print(freq[:20])
freq = {i[0]: i[1] for i in freq}

使用 jieba 中文分词,打印前20个权重。

3.生成对象

mask = np.array(Image.open("color_mask.png"))
wc = WordCloud( mask=mask,font_path='Hiragino.ttf', width=800, height=600, mode='RGBA',background_color=None).generate_from_frequencies(freq)

导入背景图片。

4.从图片中生成颜色

image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors) # 指定颜色

指定为背景图片的颜色

5.显示词云

plt.imshow(wc,interpolation='bilinear')
plt.axis('off')
plt.show()

6.保存图片

wc.to_file('main.png')

在这里插入图片描述
完整代码:

# 精细控制每个词的大小 使用 generate_from_frequencies
from wordcloud import WordCloud
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import jieba.analyse  # 中文分词组件
from wordcloud import ImageColorGenerator
import random

text = open('xinhuawang.txt','r',encoding='utf8').read()

# 提取关键词和权重
freq = jieba.analyse.extract_tags(text, topK=200, withWeight=True)
print(freq[:20])
freq = {i[0]: i[1] for i in freq}

# 生成对象
mask = np.array(Image.open("color_mask.png"))
wc = WordCloud( mask=mask,font_path='Hiragino.ttf', width=800, height=600, mode='RGBA',background_color=None).generate_from_frequencies(freq)

# 从图片中生成颜色
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors) # 指定颜色

# 显示词云 ,插值
plt.imshow(wc,interpolation='bilinear')
plt.axis('off')
plt.show()

wc.to_file('main.png')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值