前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【实战教程】借助 CodeBuddy 轻松打造精美中文词云图 - AI 编程助手使用体验

【实战教程】借助 CodeBuddy 轻松打造精美中文词云图 - AI 编程助手使用体验

原创
作者头像
全栈若城
发布于 2025-05-19 01:49:37
发布于 2025-05-19 01:49:37
12400
代码可运行
举报
文章被收录于专栏:CodeBuddyCodeBuddy若城技术专栏
运行总次数:0
代码可运行

本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴”;

📚 前言

数据可视化领域,词云图是一种直观而富有艺术感的表现形式,能够清晰地展示文本中词语的频率和重要性。本文将详细记录如何借助 CodeBuddy 这款 AI 编程助手,从零开始实现一个支持中文的词云图生成工具。我们将通过一系列提问与优化,逐步完善代码,最终得到一个功能完备的词云图应用。

🚀 开发流程

整个开发过程分为以下几个步骤:

  1. 获取基础词云图代码
  2. 准备文本数据
  3. 解决中文显示问题
  4. 运行并优化效果

💻 获取基础词云图代码

首先,我向 CodeBuddy 提出了明确的需求:

我需要一个 py 的词云图功能代码,请给我一份完整的代码在当前目录下

CodeBuddy 迅速给出了详细的实现代码:

这段代码包含了词云图实现的核心功能,但我们还需要准备输入数据才能运行。

📝 准备文本数据

查看代码后,我发现需要一个名为 text.txt 的文本文件作为词云的数据来源,于是我继续向 CodeBuddy 提问:

给我一份 text.txt 的完整内容,方便我进行测试

CodeBuddy 提供了示例文本内容:

有了代码和数据,我们可以开始第一次运行测试了。

🔍 发现并解决中文显示问题

将代码和文本文件放入同一目录后运行,得到了以下结果:

很明显,词云图中的中文字符无法正常显示,全部变成了方块。这是因为缺少中文字体支持。我再次向 CodeBuddy 寻求帮助:

生成的词云图中文无法识别是以方块展示的,请修复

CodeBuddy 立即给出了解决方案:

根据提示,我下载了一个中文字体文件(字体家AI造字春风.ttf)并放入项目目录,再次运行代码。

✨ 最终效果展示

添加中文字体后,词云图完美呈现:

可以看到,中文词语清晰可辨,词云图整体美观大方,完全达到了我们的预期效果。

📋 完整代码解析

下面是最终优化后的完整代码,我添加了详细的注释说明每个部分的功能:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import os
import jieba  # 中文分词库
from collections import Counter  # 词频统计

# 文件路径配置
input_file = 'text.txt'  # 输入文本文件
output_file = 'wordcloud.png'  # 输出图片文件
font_path = '字体家AI造字春风.ttf'  # 中文字体文件

# 检查字体文件是否存在
if not os.path.exists(font_path):
    print(f"警告:未找到中文字体文件 {font_path}")
    print("请下载字体家AI造字春风.ttf字体文件并放在当前目录")
    print("或修改代码中的font_path变量为你的中文字体路径")
    font_path = None  # 尝试使用系统默认字体

# 检查输入文件
if not os.path.exists(input_file):
    print(f"错误:当前目录下找不到 {input_file} 文件")
    print("请确保有一个名为 text.txt 的文本文件在当前目录下")
    exit()

# 读取文本内容
try:
    with open(input_file, 'r', encoding='utf-8') as file:
        text = file.read()
except Exception as e:
    print(f"读取文件时出错: {e}")
    exit()

# 中文分词处理函数
def chinese_text_segment(text):
    # 使用jieba进行中文分词
    seg_list = jieba.cut(text)
    # 过滤掉单个字符和空白(保留多字词语)
    words = [word for word in seg_list if len(word.strip()) > 1]
    # 统计词频
    word_counts = Counter(words)
    return word_counts

# 创建词云对象(自定义参数)
wordcloud = WordCloud(
    font_path=font_path,    # 中文字体路径(关键参数)
    width=800,              # 宽度
    height=600,             # 高度
    background_color='white',  # 背景色
    max_words=200,          # 最大词数
    max_font_size=150,      # 最大字体大小
    random_state=42,        # 随机种子(保证每次生成结果一致)
    collocations=False,     # 是否包含两个词的搭配
    stopwords=None,         # 停用词列表(可自定义)
    prefer_horizontal=0.9,  # 水平显示比例
    margin=2,              # 边距
    scale=2                # 缩放比例(提高清晰度)
)

# 生成词云
try:
    # 对中文文本进行分词和词频统计
    word_counts = chinese_text_segment(text)
    # 根据词频生成词云
    wordcloud.generate_from_frequencies(word_counts)
except Exception as e:
    print(f"生成词云时出错: {e}")
    exit()

# 显示词云
plt.figure(figsize=(10, 8))  # 设置图像大小
plt.imshow(wordcloud, interpolation='bilinear')  # 显示词云
plt.axis('off')  # 关闭坐标轴

# 保存词云图
try:
    wordcloud.to_file(output_file)
    print(f"词云图已成功保存为 {output_file}")
except Exception as e:
    print(f"保存词云图时出错: {e}")

# 显示图像
plt.show()

🔧 技术要点解析

  1. 中文分词处理:使用 jieba 库进行中文分词,这是处理中文文本的关键步骤
  2. 字体配置:通过 font_path 参数指定中文字体,解决中文显示问题
  3. 词频统计:使用 Counter 类高效统计词频
  4. 异常处理:代码中加入了完善的异常处理机制,提高程序健壮性
  5. 参数优化:通过调整 WordCloud 的各项参数,优化词云图的视觉效果

📈 可扩展功能建议

如果你想进一步增强这个词云图工具,可以考虑以下扩展:

  1. 自定义停用词:添加中文停用词列表,过滤掉"的"、"了"等常见虚词
  2. 多种配色方案:实现不同的配色主题,如暖色系、冷色系等
  3. 形状蒙版:让词云按照特定形状(如心形、国家地图等)生成
  4. 交互式界面:开发简单的 GUI 界面,方便用户上传文本和调整参数
  5. 情感分析:结合情感分析,用不同颜色表示词语的情感倾向

🎯 总结与反思

通过这次实践,我们可以看到 CodeBuddy 在编程辅助方面的强大能力。从最初的代码生成到问题诊断再到解决方案提供,CodeBuddy 全程给予了精准的指导。整个开发过程中,我们只需要提出明确的问题,就能得到有效的解答,大大提高了开发效率。

特别值得一提的是,CodeBuddy 不仅提供了基础功能实现,还考虑到了异常处理、参数优化等细节问题,使得最终代码具有较高的健壮性和可用性。这种"一站式"的编程辅助体验,对于快速实现功能原型、学习新技术都有极大帮助。

通过这个简单的词云图项目,我们不仅学习了 Python 数据可视化的相关知识,也体验了 AI 编程助手如何改变传统的编程方式,让编程变得更加高效和有趣。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你真的会用wordcloud制作词云图吗?
对于文本分析而言,大家都绕不开词云图,而python中制作词云图,又绕不开wordcloud,但我想说的是,你真的会用吗?你可能已经按照网上的教程,做出来了一张好看的词云图,但是我想今天这篇文章,绝对让你明白wordcloud背后的原理。
罗罗攀
2021/02/04
6270
你真的会用wordcloud制作词云图吗?
简单几步教你用Python生成词云图
词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。
昱良
2019/07/04
3.8K0
AI数据分析:用kimi批量根据word文档生成词云图片
指定使用Windows系统中的黑体字体 ,字体路径为:'C:\\Windows\\Fonts\\simsun.ttc'
AIGC部落
2024/06/24
1930
AI数据分析:用kimi批量根据word文档生成词云图片
WordCloud 中英文词云图绘制,看这一篇就够了
摘要: 当我们手中有一篇文档,比如书籍、小说、电影剧本,若想快速了解其主要内容是什么,则可以采用绘制 WordCloud 词云图,显示主要的关键词(高频词)这种方式,非常方便。本文将介绍常见的英文和中文文本的词云图绘制,以及 Frequency 频词频词云图。
sergiojune
2018/12/17
9.7K0
【推荐收藏】介绍2种Python绘制词云的手法,你会偷偷pick谁呢?
最近有粉丝同学在演示此前案例时发现在制作词云的时候有报错,希望才哥能讲解一下Python词云的绘制,那么今天他来了。
可以叫我才哥
2021/08/05
8240
拿来就用能的Python词云图代码|wordcloud生成词云详解
词云也叫文字云,是一种可视化的结果呈现,常用在爬虫数据分析中,原理就是统计文本中高频出现的词,过滤掉某些干扰词,将结果生成一张图片,直观的获取数据的重点信息。今天,我们就来学习一下Python生成词云的常用库「wordcloud」。
吾非同
2021/03/12
4.9K0
怎么制作词云图?
使用 Python 环境下的 wordcloud 工具,就能方便地生成词云图(感谢开源社区!🎉️ )。
WEBJ2EE
2024/03/22
7170
怎么制作词云图?
【编程课堂】词云 wordcloud
本周为大家带来炫酷好玩的 wordcloud 词云构造库。 使用 wordcloud 可以做出这样的图片: 还可以做出这样的: 接下来,我们来学习如何制作属于自己的词云图。 本来想说一句,安装过程不表
Crossin先生
2018/04/17
2.2K0
【编程课堂】词云 wordcloud
python之生成带背景的词云图(附源码)
wordcloud.WordCloud 类是用于生成词云图像的主要类常用参数及示例
不止于python
2023/09/05
9340
python之生成带背景的词云图(附源码)
Python带你看不一样的《青春有你2》小姐姐之评论内容可视化
详细介绍和用法可以去github看:https://github.com/fxsjy/jieba,这里不多做介绍,只介绍本次用到的
极简小课
2022/06/27
6020
Python带你看不一样的《青春有你2》小姐姐之评论内容可视化
词云图的几种制作方法评测,你pick哪款
大家好,不知道大家会在什么场合使用词云图,对我来说词云图的优点除了它可以展示大量文本数据。从而让读者快速抓住重点,更重要的是词云图好看啊
刘早起
2020/04/15
1.1K0
词云图的几种制作方法评测,你pick哪款
软件测试|教你使用Python快速绘制酷炫词云图
词云图现在似乎成了各个互联网产品年终盘点的标准形式,比如我们的热搜,我们QQ音乐网易云音乐最喜欢的歌手最喜欢的歌曲等等,词云图实在是太契合互联网时代了。那么我们能不能自己也去画一个词云图出来?就用我们的Python来完成这个目标。
霍格沃兹测试开发Muller老师
2023/02/19
8400
Python数据可视化 词云图 绘制词云的方法总结
pyecharts是基于echarts的python库,能够绘制多种交互式图表,和其他可视化库不一样,pyecharts支持链式调用。
叶庭云
2020/09/17
31.8K0
Python数据可视化   词云图  绘制词云的方法总结
Python词云制作
“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”。从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。
楚客追梦
2022/11/11
1.9K0
Python词云制作
Python stylecloud制作酷炫的词云图
这周参加一个创新培训,结束后有个答辩需要制作ppt,为了更好的展示内容,想到用词云图。本文分享一下如何基于Python的stylecloud制作酷炫的词云图。stylecloud是wordcloud优化改良版,操作简单,直接调用。
用户9925864
2022/07/27
9290
Python stylecloud制作酷炫的词云图
【Python制作词云】分析QQ群聊信息,记录词频并制作词云
将群成员发的消息保存至列表中,遍历所有消息,符合时间正则的留下,并用 flag 进行标记,从而将特定的群成员消息提取出来。
AXYZdong
2020/10/29
2.4K0
【Python制作词云】分析QQ群聊信息,记录词频并制作词云
【Python制作词云】改变词云字体颜色
对我这篇文章 【Python制作词云】分析QQ群聊信息,记录词频并制作词云 的一个优化。
AXYZdong
2020/10/29
5.6K0
【Python制作词云】改变词云字体颜色
NLP快速入门:手把手教你用wordcloud做词云
导读:在上一章节介绍在Python环境下调用HanLP包进行分词的基础上,本文将介绍如何使用wordcloud绘制词云。尽管目前市面上已经有很多成熟的在线交互词云工具,但是考虑到实际工作中有很多内容是具有保密性的,无法直接在互联网上公开。因此,如何在本地搭建词云平台,自定义地绘制词云显得格外重要。
寒树Office与RPA
2021/04/09
6.4K0
NLP快速入门:手把手教你用wordcloud做词云
实战|Python轻松实现绘制词云图(附详细源码)
项目背景虽然现在已经有很多现成的制作词云图的工具了,但一般存在以下几个问题:问题一:工具太多,眼花缭乱,质量参差不齐,选择困难症; 问题二:大多词云工具或多或少有一些限制,自定义的空间有限;问题三:有些工具甚至收费。基于以上几个问题,迪迪觉得有必要写一篇Python绘制词云图的文章,因为实在太简单!没有任何编程基础的小白都能搞定的事,还找什么工具啊!
程序员迪迪
2022/01/10
1.4K0
Python生成圣诞节词云-代码案例剖析
这段代码使用了jieba进行中文分词,结合stylecloud库生成了一个基于指定配色方案的圣诞主题词云图。以下是对代码的解释:
一键难忘
2023/12/23
1.4K0
推荐阅读
相关推荐
你真的会用wordcloud制作词云图吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验