当前位置:首页>python>工具分享06 | Python高级词云生成工具

工具分享06 | Python高级词云生成工具

  • 2026-09-07 19:35:45
工具分享06 | Python高级词云生成工具

点击上方"蓝字",关注"Python当打之年"

后台回复"1",领取众多Python学习资料
大家好,我是欧K~
本期使用Python的Tkinter制作高级词云生成工具,根据文本内容生成相应词云,可自行设置停用词、词云颜色、字体、字号、背景、掩膜图像等等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。
往期分享:
工具分享05 | Python制作PDF合并拆分提取工具V1.0
工具分享04 | Python高级图片处理工具V1.0
工具分享03 | Python屏幕点击抢票工具,告别拼手速时代
工具分享02 | Python批量文件重命名工具
工具分享01 | Python福彩双色球数据爬取+分析工具
示例:
1. 运行流程
1.1 工具面板
1.2 选中文本文件、停用词文件(可选)
1.3 自定义额外停用词,以英文逗号隔开
1.4 设置背景颜色(颜色名称、十六进制)
颜色名称:
十六进制:
1.5 设置词云宽度、高度
1.6 设置词云颜色方案
可通过下拉框自行切换:
1.7 设置词云字体
1.8 设置形状图片
1.9 白色背景
2. 绘制

2.1 框架结构布局

defcreate_widgets(self):"""创建所有界面组件"""# 创建主框架self.main_frame = ttk.Frame(root, padding="10", style="MainFrame.TFrame")self.main_frame.pack(fill=tk.BOTH, expand=True)self.create_menu()# 创建输入部分self.create_input_section()# 创建样式设置部分self.create_style_section()# 创建词云展示部分self.create_display_section()# 创建按钮和进度部分self.create_button_section()# 定期检查消息队列self.check_queue()

2.2 添加菜单

defcreate_menu(self):"""创建菜单系统"""        menu_bar = tk.Menu(self.root)        file_menu = tk.Menu(menu_bar, tearoff=0)        help_menu.add_command(label="联系作者", command=self.about_command)        menu_bar.add_cascade(label="帮助", menu=help_menu)        self.root.config(menu=menu_bar)
2.3 输入参数部分
defcreate_input_section(self):    input_frame = ttk.LabelFrame(self.main_frame, text="输入设置", padding="10", style="Bold.TLabelframe")    input_frame.pack(fill=tk.X, pady=(0, 10))# 文本文件选择    ttk.Label(input_frame, text="文本文件:").grid(row=0, column=0, sticky=tk.W, pady=2)    ttk.Entry(input_frame, textvariable=self.text_file_path,style='TEntry').grid(row=0, column=1, padx=5, sticky=tk.EW)    ttk.Button(input_frame, text="浏览...", command=self.browse_text_file,padding=1).grid(row=0, column=2, padx=5)# 停用词文件选择    ttk.Label(input_frame, text="停用词文件:").grid(row=1, column=0, sticky=tk.W, pady=10)    ttk.Entry(input_frame, textvariable=self.stopwords_file_path).grid(row=1, column=1, padx=5, sticky=tk.EW)    ttk.Button(input_frame, text="浏览...", command=self.browse_stopwords_file,padding=1).grid(row=1, column=2, padx=5)# 额外停用词    ttk.Label(input_frame, text="额外停用词(逗号分隔):").grid(row=2, column=0, sticky=tk.W, pady=10)    ttk.Entry(input_frame, textvariable=self.additional_stopwords).grid(row=2, column=1, columnspan=2, padx=5, sticky=tk.EW)
2.4 词云样式部分
defcreate_style_section(self):    style_frame = ttk.LabelFrame(self.main_frame, text="词云样式设置", padding="10", style="Bold.TLabelframe")    style_frame.pack(fill=tk.X, pady=(0, 10))# 使用网格布局管理器    style_frame.grid_columnconfigure(1, weight=1)    ttk.Label(style_frame, text="背景颜色:").grid(row=0, column=0, sticky=tk.W, pady=2)    ttk.Entry(style_frame, textvariable=self.bg_color, width=15).grid(row=0, column=1, sticky=tk.W, padx=5, pady=2)    ttk.Label(style_frame, text="高度:").grid(row=0, column=2, sticky=tk.W, pady=2)    ttk.Spinbox(style_frame, from_=100, to=2000, textvariable=self.height, width=10).grid(row=0, column=3,sticky=tk.W, padx=5)    ttk.Label(style_frame, text="宽度:").grid(row=0, column=4, sticky=tk.W, pady=2)    ttk.Spinbox(style_frame, from_=100, to=2000, textvariable=self.width, width=10).grid(row=0, column=5,sticky=tk.W, padx=5)
2.5 生成词云
wc = WordCloud(    font_path=self.font_path.get() or"simhei.ttf",    background_color=self.bg_color.get() orself.white,    width=self.width.get(),    height=self.height.get(),    max_words=self.max_words.get(),    min_font_size=self.min_font_size.get(),    max_font_size=self.max_font_size.get(),    colormap=self.colormap.get(),    mask=mask)wc.generate_from_frequencies(word_freq)
3. 更多可视化源码

源码下载 | 【01-50】Pthon可视化系列文章资源(源码+数据)

👉 公众号后台回复【可视化项目源码】获取更多可视化代码+数据
👉 公众号后台回复【工具06】获取本期exe工具
END

以上就是本期为大家整理的全部内容了,喜欢的朋友可以点赞、点在看也可以分享让更多人知道。

往期推荐

源码下载 | 【01-50】Pthon可视化系列文章资源(源码+数据)

可视化系统04 | 基于Python的房天下网房屋数据分析预测系统

可视化系统03 | 招聘数据分析可视化系统+数据库案例

可视化系统02 | 微博舆情数据分析系统+数据库案例

可视化系统01 | 豆瓣电影Top250数据分析系统+数据库案例

爬虫 | Python爬取某平台杭州二手房数据

爬虫 | Python搞定软科中国大学排名

爬虫 | Python爬取胡润百富榜数据

爬虫 | Python爬取微博实时热搜榜信息

爬虫 | Python爬取B站榜排行榜信息

65 | 山东省2025年高考志愿投档数据分析可视化

64  | 全国瑞幸咖啡VS星巴克门店数据分析可视化

63  | 泡泡玛特微博热搜评论数据分析可视化

62  | 智联招聘大数据岗位数据分析可视化

61 | 基于Apriori算法及帕累托算法的超市销售数据分析可视化

60 | 箱包订单数据分析可视化

59 | 淘宝华为手机商品数据分析可视化

58 | 大众点评餐饮数据分析可视化

57 | 交通事故数据分析可视化

56 | 2024年中国500强企业数据分析可视化分析可视化

55 | 实习僧网Python岗位招聘数据分析可视化

54 | 2024年美国总统大选数据分析可视化

53 | 基于Lasso回归和随机森林的上海链家二手房房价预测

53 | 上海链家二手房数据分析可视化

52 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测

51 | 深圳市共享单车数据分析可视化

01-50 | Pthon可视化系列文章资源(源码+数据)

Pandas+Pyecharts | 全国热门旅游景点数据分析可视化

可视化 | 再分享一套Flask+Pyecharts可视化模板二

可视化 | 分享一套Flask+Pyecharts可视化模板

可视化 | Python直观展示中国代表团冬奥会荣耀时刻

Matplotlib | 世界足球俱乐部排名可视化

点【在看】的您又变好看了呢

最新文章

随机文章