首页 编程教程正文

做出自己想要的词云形状

piaodoo 编程教程 2020-02-22 22:06:55 978 0 python教程

本文来源吾爱破解论坛

本帖最后由 zac7 于 2019-8-15 17:23 编辑

做了两个小时的词云,遇到几个问题没有解决掉,大家要是有思路记得通知我。然后我顺便总结一下心得:

嗨学网


第一,import cv2这个已经不能用了,大家记得使用 opencv-python这个库,因为我的是python3.6版本,我记得这个cv2是python2.x and python3.4以下版本才能使用吧,反正python3.6不能下载,当然最后我也没使用cv2.imread()在百度上发现numpy也有读取图片的功能。就用的numpy
第二,我发现imread读取jpg模式很Lj,读取PNG可以,同样的图片,只是图片格式不一样,jpg就会很乱,png就能正确读取。
我问我之前的讲师,他说:“”跟源代码有关吧。png带有阿尔法通道(控制透明),容易处理成2色(黑和透明)来作为蒙版。“”
第三,你的蒙版图片必须是整个形状(第一张示意图),不能是多个形状(第二,三张示意图)。就例如:
嗨学网嗨学网嗨学网
第四,博客上有很多文章都是用的这个库 from scipy.misc import imread,这个库是python2.7才能用,大家切记!
第五,谁能做成前两张那种形状的词云记得通知我,谢谢各位大佬。


嗨学网


[Python] 纯文本查看 复制代码

#-*- coding:utf-8 -*-
# author:**ZLH**
# datetime:2019/8/15 14:19
# software: PyCharm



from wordcloud import WordCloud,ImageColorGenerator
# import cv2
import jieba
import matplotlib.pyplot as plt
import numpy
from PIL import Image


file = open('tmp.txt',mode='r') # tmp.txt是与代码同目录下的文档文件,里面存的是要做成词云的数据
text = file.read()
cut_text = " ".join(jieba.cut(text,cut_all=False)) # 进行精准的结巴分词 # cut_all, True为全模式,False为精确模式
print(cut_text)
color_mask = numpy.array(Image.open('2.png')) # 打开背景图片

cloud = WordCloud(
    # 设置字体,不指定就会出现乱码
    font_path='C:\Windows\Fonts\simhei.ttf',
    # 设置背景色
    background_color='white',
    # 词云形状
    mask=color_mask,
    # 允许最大词汇
    max_words=2000,
    # 最大号字体
    max_font_size=20
).generate(cut_text)
cloud.to_file('cloud.jpg')

image_colors = ImageColorGenerator(color_mask) # 图片颜色既是背景图片的颜色
# plt.title=("Distant savior")
plt.imshow(cloud.recolor(color_func=image_colors))
plt.imshow(cloud)# 以图片的形式显示词云
plt.figure()
"""
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
--------------------- 
"""
plt.axis("off")# 关闭坐标轴
plt.show() # 显示图片




效果展示图如下:

cloud.jpg (12.29 KB, 下载次数: 21)

下载附件  保存到相册

2019-8-15 17:19 上传

cloud.jpg

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7572.html

搜索