codegeex本身不直接支持图表绘制,需结合matplotlib、plotly、chart.js等外部库实现:一、python+matplotlib生成静态图;二、python+plotly生成动态交互图;三、javascript+chart.js生成前端响应式图表;四、excel vba/power query构建动态数据源;五、使用插件内建图表指令模板提升效率。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在开发过程中借助CodeGeeX快速生成静态、动态或交互式图表代码,但发现其默认不直接支持图表绘制功能,则可能是由于CodeGeeX本质是代码生成模型,需依赖外部库(如Matplotlib、Plotly、Chart.js等)实现可视化。以下是针对不同图表类型实现的多种可行方案:
一、使用Python + Matplotlib生成静态图表
Matplotlib是Python最成熟的绘图库,适合生成高质量静态图表。CodeGeeX可准确生成符合语法规范的绘图脚本,只需明确指定图表类型、数据结构与样式要求。
1、在VS Code或Jupyter中新建.py文件,输入提示词:“用Matplotlib绘制柱状图,横轴为月份,纵轴为销售额,数据为[1200, 1500, 1300, 1800, 1600, 2000]”。
2、调用CodeGeeX(Ctrl+Enter),等待生成完整可运行代码,包含import语句、数据定义、plt.bar()调用及plt.show()。
3、运行脚本,确认输出图像正确显示;若坐标轴标签缺失,可追加提示:“在图表中添加x轴标签‘月份’、y轴标签‘销售额(元)’、标题‘季度销售对比’”。
二、使用Python + Plotly生成动态图表
Plotly支持交互式缩放、悬停提示和动画效果,CodeGeeX能基于函数式API(如px.line、px.scatter)生成结构清晰的动态图表代码,无需手动编写底层trace配置。
1、输入提示词:“用Plotly Express绘制带时间滑块的折线图,模拟2023–2025年每月温度变化,数据格式为DataFrame,含列‘year’、‘month’、‘temperature’”。
2、CodeGeeX将生成含pd.DataFrame构造、px.line()调用、animation_frame='year'及range_y参数设置的代码段。
3、检查生成代码是否包含fig.show();若需导出为HTML独立文件,追加提示:“添加fig.write_html('temp_animation.html')”。
三、使用JavaScript + Chart.js生成前端交互式图表
Chart.js适用于Web项目中的轻量级交互图表,CodeGeeX可生成含HTML容器、CDN引入、ctx获取及new Chart()初始化的完整前端片段,适配常见业务场景。
1、在HTML文件中插入<script>标签,并输入提示词:“用Chart.js创建一个响应式饼图,显示产品A/B/C的市场份额分别为45%、30%、25%,点击扇区时高亮并显示详情”。</script>
2、CodeGeeX将输出含canvas元素、Chart.defaults.responsive = true配置、onClick事件处理器及tooltips定制逻辑的代码。
3、确保页面已通过CDN引入Chart.js(<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>),否则运行时会报ReferenceError。
四、结合Excel VBA或Power Query生成动态图表数据源
当目标平台为Excel且需联动切片器或下拉控件时,CodeGeeX可辅助生成VBA宏或Power Query M代码,构建可扩展的数据源,再绑定至图表对象实现动态刷新。
1、在Excel中启用开发者选项,新建模块,输入提示词:“编写VBA宏,根据单元格D1的值(‘Q1’/‘Q2’/‘Q3’/‘Q4’)自动筛选Sheet2中对应季度的销售数据,并更新名为‘SalesChart’的嵌入图表数据源”。
2、CodeGeeX将生成含AutoFilter、Range.Copy、Chart.SetSourceData等关键语句的Sub过程。
3、在D1单元格设置数据验证下拉列表,并为该单元格绑定此宏(通过“工作表更改事件”或按钮触发)。
五、调用CodeGeeX插件内建图表模板指令
部分CodeGeeX版本(如VS2022插件v2.3.0+)内置了图表生成快捷指令,可通过特定前缀触发预设模板,避免重复描述,提升生成准确性与一致性。
1、在代码编辑器中新建空白文件,输入//chart:bar –data=[10,20,15] –labels=['Jan','Feb','Mar'] –title="Monthly Visits"
2、光标置于该行末尾,按Ctrl+Enter激活CodeGeeX,插件识别指令格式后,自动补全完整Matplotlib或Plotly代码。
3、检查生成代码中是否包含plt.tight_layout()或fig.update_layout(autosize=True)以保障多分辨率适配。











