And 创建新的Python文件。
同理操作。
在此查看是否安装完成:
# author: tinge_L#
# 输入库
import jieba
import wordcloud
# 读取后关闭txt文件
file = open("comment", "r", encoding="utf-8") # 文件格式是utf-8,文件名是xxx.txt
t = file.read()
file.close()
# jieba分词
ls = jieba.lcut(t)
txt = " ".join(ls)
# 设置词云图
w = wordcloud.WordCloud(
font_path="C:/Windows/Fonts/SIMSUN.TTC", # 词云字体
width=1000, # 图片宽度
height=800, # 图片高度
background_color="white") # 图片背景颜色
# 将文字导入词云
w.generate(txt)
# 保存词云图
w.to_file("wordcloud.png")
1、可以直接从电脑搜索框搜索“字体设置”or“font”,打开字体设置。
2、打开后直接搜索框搜索字体,如“宋体”,找到所需的字体后点开,查看字体文件的详细信息。
3、如,宋体文件的存放路径如下:
# 输入库
import jieba
import wordcloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
mask = np.array(Image.open("love_new.png"))
img_array = np.array(mask)
file = open("comment", "r", encoding="utf-8")
t = file.read()
file.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
# 设置词云图
w = wordcloud.WordCloud(
font_path="C:/Windows/Fonts/SIMSUN.TTC", # 词云字体
width=2400, # 图片宽度
height=2000, # 图片高度
contour_width=2,
mask = img_array,
contour_color='steelblue',
background_color="white") # 图片背景颜色
# 将文字导入词云
w.generate(txt)
# 保存词云图
w.to_file("wordcloud_17.png")
效果如下:
(1)忘记导入其他库。
因为要打开图片,所以除了要导入词云包和截词包,还要导入以下包:
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
(2)设置mask。
mask = np.array(Image.open("love_new.png"))
img_array = np.array(mask)
(3)png图片没有做处理。
即使是透明背景的图片,并且也能够展现词云,但并没有按照png轮廓生成词云,如下图:
需要添加代码,将图片做出处理:
新建Python文件
import PIL.Image as Image
# 如果当前位深是32的话,可以不用写转RGBA模式的这一句,但是写上也没啥问题
# 从RGB(24位)模式转成RGBA(32位)模式
img = Image.open('love.png').convert('RGBA')
W, L = img.size
white_pixel = (0, 0, 0, 0) # 白色
for h in range(W):
for i in range(L):
if img.getpixel((h, i)) == white_pixel:
img.putpixel((h, i), (255, 255, 255, 0)) # 设置透明
img.save('love_new.png') # 自己设置保存地址
Search PNG images
(用谷歌浏览器打开会好点)
本文所用词云背景图:
可以直接打开该project所在的文件包,将背景图放入同一目录下。