吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6792|回复: 4
收起左侧

[Python 转载] 做出自己想要的词云形状

  [复制链接]
zac7 发表于 2019-8-15 17:21
本帖最后由 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

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
IMRE + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wudi5299122 发表于 2019-8-15 18:31
这个要支持,希望能不断更新!
 楼主| zac7 发表于 2019-8-15 22:02
KKyu 发表于 2019-8-15 22:17
Dittonal 发表于 2019-8-16 10:57
学习了,原来cv2不能用啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 13:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表