python_wordcloud_做一个词云献给你的好友

做一个词云献给你的好友

说说

最近好友让我帮他做一个四六级词汇的词云脚本,通过借鉴诸位csdn大佬的大作,终于不负好友所托,成功完成。然后我就突发奇想拿这个脚本的一部分做了一个人名啊,祝福语,头像之类的词云,效果还不错,以此记录下自己的成果。
注:代码注释足够详尽,就不多做解释了

代码

'''
1. 这画的是词云
2. 字体库在C:\windows\fonts
'''
#引入结巴库
import  jieba
#词云库
from wordcloud import WordCloud
# python的可视化库,也是二级考试推荐的可视化库
import matplotlib.pyplot as plt
from PIL import Image  #处理图片的
 #矩阵 好像也是协助处理图片的
import numpy as np 



#open 内置函数 不需要引用 直接使用
'''
打开文件xxx.txt和python 文件放到同一个目录,可直接引用不需要路径,
里面的内容可以多种多样,比如一些彩虹屁啊,人名啊,总之想怎么写就怎么写
'''
f = open('xxx.txt', 'r' ,encoding='utf-8'  )

#读取文件
txt = f.read()

#关闭文件,良好的习惯
f.close()

# 将txt里的文字按行分组
words = str.split(txt)
#print(words)

# 通过键值对的形式存储词语及其出现的次数
# 大括号表示 python的字典类型对应,
counts = {}     
#数组对象  用来接收需要传递给词云的内容
ciyun = []

items = list(words)



#需要显示的范围  1000即显示前1000个,0到999
for i in range(1000):
    word= items[i]
    #print("{0:<5}{1:<8}".format(i+1,word))
    ciyun.append(word)


 #print(ciyun) 

#加载图片信息
#这里的图片路径是词云的底片路径
maskph = np.array(Image.open("C:/Users/hp/Desktop/xx.png")) 


#join 函数 用斜杆拼接词组
text_cut  =  '/'.join(ciyun)
wordcloud = WordCloud(scale=1,font_path='STLITI.TTF',mask=maskph,background_color='white',max_words = 1000,max_font_size = 20,repeat=True).generate(text_cut)
# 显示图片 
plt.imshow(wordcloud)
plt.axis('off')
#经过词云作用xx.png会生成一个词云图片,保存方法如下,路径自拟即可
wordcloud.to_file("C:/Users/hp/Desktop/xxByCiyun.png")
plt.show()

结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值