词云和图片展示及消息窗的结合的例子

本文介绍了使用Python的Wordcloud库生成词云图的基本步骤,包括分词、参数设置(如宽度、高度、字体、停用词)、以及如何使用Tkinter实现弹窗和图像显示。以少年中国说文本为例,展示了完整的代码和过程。
摘要由CSDN通过智能技术生成
一、词云(此次云中的词语是少年中国说)

首先,大家得先熟悉一下词云:

词云库(Wordcloud)是一个用于生成词云图的Python库。 词云图是一种可视化的方式,用于展示文本数据中出现频率较高的词汇。 通过将文本中的词汇按照其出现的频率进行大小排序,然后将这些词汇以特定的形状、颜色等元素组合成一个图形,从而直观地展示文本的主题和关键词。(来源于网络)

以下是几个常用的代码

变量名 =  wordcloud.WordCloud( width= ,height= ,stopwords= ,font_path= )

这里的括号里面如果不填东西的话(包括那4个单词),会默认成宽400px,高200 px的图片,width和height分别指宽和高。stopwords是停用单词(就不会显示的意思),默认有is,a,or等,后面会教如何添加自己不想要出现的单词。第四个是字体,因为如果直接引用汉字的话,他会变乱码,所以这里要更改,苹果常用字体:PingFang.ttc;Windows常用字体:simhei.ttf;我本人是Windows系统的,所以别的字体也知道在哪里存储着,在C:\Windows\Fonts里面储存着(为了后续操作方便,这里先用变量存储起来)当然还有其它参数,实在太多,就列举以下几种吧

wordcloud的参数意思
width
height
font_path字体
stopwords停用词
background_color背景颜色
colormap字体颜色

变量名.generate(text)

 text指的是本文内容在这里就不过多解释了

变量名.to_file('文件名.jpg')

这个是保存语句,支持两种格式,.jpg和.png,文件名可以自己想 

(1)jieba分词库

因为我们要制作的是词云,肯定得是词语,但是直接用生成词云语句的话,就会变句子,所以就要用jieba分词库分一下词。代码如下

import jieba 


test = jieba.lcut()
#因为结果是列表,所以还要变成字符串
test = ' '.join(test)
二、弹窗

弹窗都知道吧,就是各种提示,这里也不详说了,上代码:

import tkinter as tk  # 导入tkinter模块。为了方便后续讲解,命名为 tk。
import tkinter.messagebox  # 引入弹窗库,防止解释器弹出报错。


def display_messagebox(): 
	tk.messagebox.showinfo(title='消息',
		message='你好!')  

display_messagebox()

运行结果 

三、读取和展示

代码:

from PIL import Image


f = open('文件名.txt', encoding='utf-8')#这里的文件名要填成对应的文件名
text = f.read()
f.close()
photo = Image.open('文件名.jpg')#这里的文件名要填成对应的图片文件名
photo.show()
四、代码展示
from PIL import Image
import wordcloud
import tkinter as tk  # 导入tkinter模块。为了方便后续讲解,命名为 tk。
import tkinter.messagebox  # 引入弹窗库,防止解释器弹出报错。
import jieba

s = set(wordcloud.STOPWORDS)
s.add('list')
f = open('少年中国说.txt', encoding='utf-8')
text = f.read()
f.close()
text = jieba.lcut(text)
text = ' '.join(text)
print('开始绘制词云···')
w = wordcloud.WordCloud(	width=1000,height=500,font_path= 'STKAITI.TTF')#这里用的是Windows的楷体,Mac可能会报错,可以修改为font_path='PingFang.ttc'

print('正在生成图片···')
w.generate(text)
print('正在保存图片···')
w.to_file('词云测试文件1.jpg')

def display_messagebox(): 
	tk.messagebox.showinfo(title='消息',
		message=('图片保存完成!')  # 信息确认弹窗 确定 
display_messagebox()	
def display_messagebox_show(): 
	tk.messagebox.showinfo(title='消息',
		message=('正在展示中...')  # 信息确认弹窗 确定 
display_messagebox_show()	
def display_messagebox_warning(): 
	tk.messagebox.showerror(title='错误',
		message=('展示失败...')  # 信息确认弹窗 确定 
display_messagebox_warning()	
def display_messagebox_one(): 
	tk.messagebox.showinfo(title='消息',
		message=('正在重新展示...')  # 信息确认弹窗 确定 
display_messagebox_one()
photo = Image.open('词云测试文件1.jpg')
photo.show()
def display_messagebox(): 
	tk.messagebox.showinfo(title='消息',
		message=('展示成功!')  # 信息确认弹窗 确定 True或 取消 False
display_messagebox()

少年中国说.txt内容:

中国而为牛、为马、为奴、为隶,则烹脔鞭棰之惨酷,惟我少年当之。中国如称霸宇内,主盟地球,则指挥顾盼之尊荣,惟我少年享之。于彼气息奄奄与鬼为邻者何与焉?彼而漠然置之,犹可言也;我而漠然置之,不可言也。使举国之少年而果为少年也,则吾中国为未来之国,其进步未可量也。使举国之少年而亦为老大也,则吾中国为过去之国,其澌亡可翘足而待也。故今日之责任,不在他人,而全在我少年。少年智则国智,少年富则国富,少年强则国强,少年独立则国独立,少年自由则国自由,少年进步则国进步,少年胜于欧洲则国胜于欧洲,少年雄于地球则国雄于地球。红日初升,其道大光。河出伏流,一泻汪洋。潜龙腾渊,鳞爪飞扬。乳虎啸谷,百兽震惶。鹰隼试翼,风尘翕张。奇花初胎,矞矞yù皇皇。干将发硎xíng,有作其芒。天戴其苍,地履其黄。纵有千古,横有八荒。前途似海,来日方长。美哉我少年中国,与天不老!壮哉我中国少年,与国无疆!
“三十功名尘与土,八千里路云和月。莫等闲,白了少年头,空悲切。”此岳武穆《满江红》词句也,作者自六岁时即口受记忆,至今喜诵之不衰。自今以往,弃“哀时客”之名,更自名曰“少年中国之少年”。

第十行那里要换行 

运行结果

本期在这里就结束了。

*注:如有遗漏,还请指出 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值