一、制作简单词云
1.依赖
- pip install wordcloud
- pip install jieba
2.使用
1.实例化一个词云对象
- woc = wordcloud.WordCloud()
2.根据文本生成词云
- woc.generate()
3.根据词频生成词云
- woc.generate_from_frequencies()
4.以文件的形式保存
- woc.to_file()
3.实例
# 实例化一个词云对象
woc = wordcloud.WordCloud(background_color='white', # 背景颜色
font_path=r'C:\Windows\Fonts\msyh.ttc', # 字体
scale=15, # 清晰度
mask=None # 背景样式
)
# 词频
china_dic =
{'上海': 56,
'云南': 80,
'内蒙古': 3,
'北京': 10,
'台湾': 31,
'吉林': 0,
'四川': 18,
'天津': 7,
'宁夏': 0,
'安徽': 0,
'山东': 7,
'山西': 9,
'广东': 47,
'广西': 3,
'新疆': 0,
'江苏': 8,
'江西': 0,
'河北': 0,
'河南': 5,
'浙江': 7,
'海南': 4,
'湖北': 3,
'湖南': 4,
'澳门': 1,
'甘肃': 1,
'福建': 26,
'西藏': 0,
'贵州': 0,
'辽宁': 1,
'重庆': 0,
'陕西': 18,
'青海': 0,
'香港': 212,
'黑龙江': 0}
# 根据词频生成词云
woc.generate_from_frequencies(frequencies=china_dic)
# 生成词云图片
woc.to_file('test.png')
二、绘制指定形状的词云
1.依赖
- pip install imageio
2.使用
2.1生成图片对象
- mk = imageio.imread(“wujiaoxing.png”)
2.2将图片对象复制给词云对象的mask参数
- woc = wordcloud.WordCloud(mask=mk)
2.3按模板填色
- from wordcloud import ImageColorGenerator
- image_colors = ImageColorGenerator(mk)
2.4给词云图片按模板重新上色
- wc_color = woc.recolor(color_func=image_colors)
3.实例
# 导入绘图库matplotlib和词云制作库wordcloud
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
# 将外部文件包含的文本保存在text变量中
text = open('alice.txt').read()
# 导入imageio库中的imread函数,并用这个函数读取本地图片queen2.jfif,作为词云形状图片
import imageio
mk = imageio.imread("alice_color.png")
# 构建词云对象w
wc = WordCloud(background_color="white",
mask=mk,)
# 将text字符串变量传入w的generate()方法,给词云输入文字
wc.generate(text)
# 调用wordcloud库中的ImageColorGenerator()函数,提取模板图片各部分的颜色
image_colors = ImageColorGenerator(mk)
# 给词云对象按模板图片的颜色重新上色
wc_color = wc.recolor(color_func=image_colors)
# 将词云图片导出到当前文件夹
wc_color.to_file('output10-alice.png')