AI 绘制图表专栏:用豆包轻松实现 HTML 柱状图、折线图与饼图

AI 绘制图表专栏:用豆包轻松实现 HTML 柱状图、折线图与饼图
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

AI 绘制图表专栏:用豆包轻松实现 HTML 柱状图、折线图与饼图

AI 绘制图表专栏:用豆包轻松实现 HTML 柱状图、折线图与饼图,本文介绍如何用豆包高效实现 HTML 柱状图、折线图与饼图。先阐述豆包在图表开发中的优势,如高效生成代码、支持丰富配置等。接着分三步详细说明每种图表的实现:明确需求并向豆包提指令、解析豆包生成的代码(含引入库、样式设置、图表配置等)、展示图表效果。还列举了图表不显示、标签重叠、移动端适配等常见问题及豆包提供的解决方案。最后总结用豆包绘图表的核心流程,拓展多图表组合、动态数据加载等方向,助力开发者高效完成数据可视化开发。
在这里插入图片描述

前言

    人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,都能在这里找到合适的内容。从最基础的工具操作方法,到背后深层的技术原理,专栏都有讲解,还搭配了实例教程和实战案例。这些内容能帮助学习者一步步搭建完整的 AI 知识体系,让大家快速从入门进步到精通,更好地应对学习和工作中遇到的 AI 相关问题。

在这里插入图片描述

    这个系列专栏能教会人们很多实用的 AI 技能。在提示词方面,能让人学会设计精准的提示词,用不同行业的模板高效和 AI 沟通。写作上,掌握从选题到成稿的全流程技巧,用 AI 辅助写出高质量文本。编程时,借助 AI 完成代码编写、调试等工作,提升开发速度。绘图领域,学会用 AI 生成符合需求的设计图和图表。此外,还能了解主流 AI 工具的用法,学会搭建简单智能体,掌握大模型的部署和应用开发等技能,覆盖多个场景,满足不同学习者的需求。

在这里插入图片描述

在这里插入图片描述

1️⃣ ⚡ 点击进入 AI 的提示词专栏,专栏拆解提示词底层逻辑,从明确指令到场景化描述,教你精准传递需求。还附带包含各行业适配模板:医疗问诊话术、电商文案指令等,附优化技巧,让 AI 输出更贴合预期,提升工作效率。

2️⃣ ⚡ 点击进入 AI 灵感写作专栏,AI 灵感写作专栏,从选题到成稿,全流程解析 AI 写作技巧。涵盖论文框架搭建、小说情节生成等,教你用提示词引导 AI 输出内容,再进行人工润色。附不同文体案例,助你解决写作卡壳,产出高质量文本。

3️⃣ ⚡ 点击进入 AI 辅助编程专栏,AI 辅助编程专栏,通过实例教你用 AI 写代码:从功能描述到调试优化。涵盖前端、后端、数据库等,语言包括HTML5、VUE、Python、Java、C# 等语言,含算法实现、Bug 修复技巧,帮开发者减少重复劳动,专注核心逻辑,提升开发速度。

4️⃣ ⚡ 点击进入 AI 精准绘图专栏,AI 精准绘图,聚焦 AI 绘图在设计场景的落地。详解如何描述风格、元素、用途,生成 logo、商标等。含 Midjourney 等工具参数设置,及修改迭代方法,帮设计新手快速出图,满足商业与个人需求。

5️⃣ ⚡ 点击进入 AI 绘制图表专栏,AI 绘制图表专栏,教你用 AI 工具将数据转化为直观图表。涵盖曲线图数据输入、流程图逻辑梳理等,附 Excel 联动、格式美化技巧,适合学生、职场人快速制作专业图表,提升数据展示效果。

6️⃣ ⚡ 点击进入 AI 的工具集专栏,AI 的工具集专栏,盘点主流 AI 工具:ChatGPT、DeepSeek、 Claude、Gemini、Copilot 等。解析各工具优势,附使用场景与技巧,帮你根据需求选工具,快速上手提升效率,覆盖办公、创作、开发等场景。

7️⃣ ⚡ 点击进入 AI 的智能体专栏,AI 的智能体专栏,解析智能体自主运行原理,包括任务拆解、环境交互等。教你用大模型搭建简单智能体,附多智能体协作案例,适合想探索 AI 自主系统的开发者入门。

8️⃣ ⚡ 点击进入 AI 的大模型专栏,AI 的大模型专栏,详解大模型部署步骤,从本地搭建到云端部署。含 API 调用教程、应用开发案例,教你将大模型集成到项目,掌握企业级 AI 应用开发技能,应对实际业务需求。


正文开始

在这里插入图片描述

通过这个思维导图,大家能对专栏的核心内容有一个整体的把握。接下来,我们就会按照这个结构,一步步展开讲解。


在数据可视化开发中,HTML 图表是展示数据的重要方式。而借助豆包这一强大的工具,我们可以更高效地完成柱状图、折线图和饼图的绘制。本文将详细介绍如何利用豆包生成相关代码,快速实现这三种常见图表,助力开发者提升数据可视化开发效率。

一、豆包在 HTML 图表开发中的优势

豆包作为一款智能辅助工具,在 HTML 图表开发领域具备诸多显著优势,能够为开发者带来极大的便利,主要体现在以下几个方面:

首先,高效的代码生成能力。开发者只需向豆包清晰描述自己所需图表的类型(如柱状图、折线图、饼图)、数据内容、样式要求(如颜色、字体、图表尺寸等)以及交互需求(如点击事件、hover 提示等),豆包就能快速生成符合要求的 HTML、CSS 和 JavaScript 代码,大大减少了手动编写代码的时间和工作量,避免了因手动编码可能出现的语法错误和逻辑漏洞。

其次,丰富的图表配置支持。豆包对主流的图表库(如 ECharts、Chart.js 等)有着深入的集成和了解,能够根据开发者的需求,生成包含各种丰富配置项的代码。无论是图表的坐标轴设置、图例样式调整,还是数据标签显示、动画效果配置等,豆包都能轻松应对,帮助开发者实现个性化的图表展示效果。

最后,便捷的问题解决与优化建议。在使用生成的代码过程中,如果遇到图表显示异常、交互不流畅等问题,开发者可以将问题反馈给豆包,豆包会根据具体情况进行分析,并提供针对性的解决方案。同时,豆包还能根据图表的数据特点和使用场景,给出优化建议,如数据格式优化、性能提升方法等,帮助开发者打造更优质的图表应用。

二、使用豆包绘制 HTML 柱状图

(一)明确需求并向豆包提出指令

首先,我们需要明确柱状图的需求,例如:展示某公司近 6 个月的产品销售额数据,X 轴为月份(1 月 - 6 月),Y 轴为销售额(单位:万元),柱状图颜色为蓝色,需要显示每个柱子的销售额数值,图表标题为 “某公司近 6 个月产品销售额”,图表宽度为 800px,高度为 400px。

然后,向豆包提出如下指令“帮我生成一个 HTML 柱状图代码,使用 ECharts 库,展示某公司近 6 个月的产品销售额数据。具体要求:X 轴为 1 月 - 6 月,Y 轴为销售额(单位:万元),数据为 [120, 150, 180, 160, 200, 220];柱状图颜色设置为蓝色,显示每个柱子的销售额数值;图表标题为‘某公司近 6 个月产品销售额’,标题字体大小为 18px,颜色为黑色;图表宽度 800px,高度 400px;页面背景颜色为白色,整体样式简洁美观。”

(二)豆包生成的柱状图代码及解析

1. 完整代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>某公司近6个月产品销售额柱状图</title> <!-- 引入ECharts CDN --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script> <style> body { background-color: white; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; } #salesChart { width: 800px; height: 400px; border: 1px solid #eee; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } </style> </head> <body> <!-- 图表容器 --> <div></div> <script> // 初始化ECharts实例 var myChart = echarts.init(document.getElementById('salesChart')); // 配置图表选项 var option = { title: { text: '某公司近6个月产品销售额', left: 'center', textStyle: { fontSize: 18, color: 'black' } }, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: { type: 'category', data: ['1月', '2月', '3月', '4月', '5月', '6月'], axisLabel: { fontSize: 12, color: '#333' }, axisLine: { lineStyle: { color: '#ccc' } } }, yAxis: { type: 'value', name: '销售额(万元)', nameTextStyle: { fontSize: 12, color: '#333' }, axisLabel: { fontSize: 12, color: '#333', formatter: '{value}' }, axisLine: { lineStyle: { color: '#ccc' } }, splitLine: { lineStyle: { color: '#eee' } } }, series: [ { name: '销售额', type: 'bar', data: [120, 150, 180, 160, 200, 220], itemStyle: { color: 'blue' }, label: { show: true, position: 'top', fontSize: 12, color: '#333' }, barWidth: '60%' } ] }; // 将配置项应用到图表实例 myChart.setOption(option); // 监听窗口大小变化,自适应调整图表 window.addEventListener('resize', function() { myChart.resize(); }); </script> </body> </html> 

效果图:

在这里插入图片描述
2. 代码解析
  • 引入 ECharts 库:通过 CDN 方式引入 ECharts 的.min.js 文件,无需本地下载,方便快捷,同时保证使用的是较新的版本(此处为 5.4.3 版本)。
  • 页面样式设置:在 style 标签中,设置 body 的背景颜色为白色,并使用 flex 布局使图表容器在页面中居中显示,提升页面美观度;为图表容器(id 为 salesChart)设置宽度、高度、边框、边框圆角和阴影效果,让图表更具立体感。
  • 图表初始化与配置:首先通过echarts.init(document.getElementById('salesChart'))初始化 ECharts 实例,绑定到指定的图表容器;然后在 option 配置对象中,设置图表标题(包括文本、位置和样式)、提示框(触发方式为 axis,指针类型为 shadow)、网格(控制图表在容器中的边距,包含标签)、X 轴(类别型,数据为月份,设置轴标签和轴线样式)、Y 轴(数值型,设置名称、轴标签、轴线和分隔线样式)以及系列数据(类型为 bar,即柱状图,设置数据、柱子颜色、数值标签显示、柱子宽度等)。
  • 图表渲染与自适应:通过myChart.setOption(option)将配置项应用到图表实例,完成图表渲染;同时监听窗口大小变化事件,调用myChart.resize()方法,使图表能够自适应窗口尺寸变化,保证在不同屏幕尺寸下的显示效果。

(三)柱状图效果展示

将上述代码保存为.html 文件,用浏览器打开,即可看到柱状图效果:图表标题居中显示,蓝色的柱子整齐排列在 X 轴对应的月份下方,每个柱子顶部都显示了对应的销售额数值,当鼠标 hover 到柱子上时,会显示详细的 tooltip 信息,展示该月份的销售额数据;窗口大小变化时,图表也会随之调整大小,保持良好的显示比例。

三、使用豆包绘制 HTML 折线图

(一)明确需求并向豆包提出指令

假设我们需要绘制一个折线图,展示某城市一周内的最高气温变化情况,X 轴为星期(周一 - 周日),Y 轴为气温(单位:℃),折线颜色为红色,标记点为圆形、颜色为红色,标记点大小为 6,显示每个标记点的气温数值,图表标题为 “某城市一周内最高气温变化”,图表宽度 800px,高度 400px,背景颜色为白色,添加网格线,方便读取数据。

向豆包提出指令:“请生成一个 HTML 折线图代码,使用 ECharts 库,展示某城市一周内的最高气温变化。具体要求:X 轴为周一到周日,Y 轴为气温(单位:℃),数据为 [25, 26, 28, 30, 29, 27, 26];折线颜色为红色,标记点为圆形、红色、大小 6,显示每个标记点的气温数值;图表标题为‘某城市一周内最高气温变化’,标题字体 18px、黑色;图表宽 800px、高 400px,背景白色;添加 X 轴和 Y 轴方向的网格线,网格线颜色为 #eee;页面整体简洁,图表居中显示。”

(二)豆包生成的折线图代码及解析

1. 完整代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>某城市一周内最高气温变化折线图</title> <!-- 引入ECharts CDN --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script> <style> body { background-color: white; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; font-family: Arial, sans-serif; } #temperatureChart { width: 800px; height: 400px; border: 1px solid #f0f0f0; border-radius: 8px; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05); padding: 10px; box-sizing: border-box; } </style> </head> <body> <div></div> <script> // 初始化ECharts实例 var myChart = echarts.init(document.getElementById('temperatureChart')); // 图表配置项 var option = { title: { text: '某城市一周内最高气温变化', left: 'center', textStyle: { fontSize: 18, color: 'black', fontWeight: 'normal' }, padding: [0, 0, 20, 0] // 标题底部内边距,与图表保持距离 }, tooltip: { trigger: 'axis', backgroundColor: 'rgba(255, 255, 255, 0.9)', borderColor: '#ddd', borderWidth: 1, textStyle: { color: '#333' }, formatter: '{b}: {c}℃' // 自定义tooltip格式 }, grid: { left: '5%', right: '5%', bottom: '10%', top: '20%', containLabel: true }, xAxis: { type: 'category', data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], axisLabel: { fontSize: 12, color: '#666' }, axisLine: { lineStyle: { color: '#ddd' } }, splitLine: { show: true, lineStyle: { color: '#eee' } } }, yAxis: { type: 'value', name: '气温(℃)', nameTextStyle: { fontSize: 12, color: '#666', padding: [0, 0, 0, 10] // 名称与轴线间距 }, axisLabel: { fontSize: 12, color: '#666', formatter: '{value}℃' }, axisLine: { lineStyle: { color: '#ddd' } }, splitLine: { show: true, lineStyle: { color: '#eee' } }, min: 20, // 设置Y轴最小值,使图表更美观 max: 32 }, series: [ { name: '最高气温', type: 'line', data: [25, 26, 28, 30, 29, 27, 26], lineStyle: { color: 'red', width: 2 }, symbol: 'circle', // 标记点样式为圆形 symbolSize: 6, // 标记点大小 itemStyle: { color: 'red' // 标记点颜色 }, label: { show: true, position: 'top', fontSize: 12, color: '#333', distance: 5 // 标签与标记点的距离 }, smooth: false // 折线是否平滑,此处为直线 } ] }; // 渲染图表 myChart.setOption(option); // 窗口 resize 时图表自适应 window.addEventListener('resize', function() { myChart.resize(); }); </script> </body> </html> 

效果图:

在这里插入图片描述
2. 代码解析
  • 引入资源与页面样式:同样引入 ECharts 的 CDN 资源,在 style 标签中,除了设置 body 的背景、居中布局外,还为 body 添加了 Arial 字体,使页面文字更易读;为图表容器设置了内边距和 box-sizing,避免图表内容与容器边框重叠。
  • 图表配置细节:在 option 配置中,标题增加了底部内边距,与图表主体区分开;tooltip 设置了白色背景、灰色边框,自定义了显示格式(星期:气温℃),提升交互体验;X 轴和 Y 轴都显示了网格线,且网格线颜色为浅灰色(#eee),方便用户读取数据对应的数值;Y 轴设置了最小值(20)和最大值(32),避免因数据范围过小导致图表显示不美观;系列数据类型为 line(折线图),设置了折线颜色、宽度,标记点的样式、大小和颜色,以及数值标签的显示位置、字体大小和与标记点的距离,同时设置折线为直线(smooth: false)。
  • 其他功能:与柱状图类似,代码中也包含了图表渲染和窗口 resize 时自适应调整的功能,确保折线图在不同场景下都能正常显示。

(三)折线图效果展示

将代码保存为.html 文件并在浏览器中打开,可看到折线图效果:红色的折线连接着一周内每天的最高气温标记点,每个标记点上方都显示了对应的气温数值;X 轴和 Y 轴方向的浅灰色网格线清晰可见,帮助用户快速对应数据;鼠标 hover 到标记点时,会显示格式化的 tooltip 信息;窗口大小变化时,折线图也会随之自适应调整,保持良好的视觉效果。

四、使用豆包绘制 HTML 饼图

(一)明确需求并向豆包提出指令

假设我们需要绘制一个饼图,展示某班级学生的兴趣分布情况,兴趣类别包括体育、音乐、绘画、阅读、其他,对应的人数分别为 15、10、8、12、5,要求饼图颜色使用不同的鲜明色彩,显示每个类别的名称和占比(保留 1 位小数),图表标题为 “某班级学生兴趣分布”,图表宽度 600px,高度 400px,背景为白色,添加图例,图例位于图表右侧,页面中图表居中显示。

向豆包提出如下指令“帮我生成一个 HTML 饼图代码,使用 ECharts 库,展示某班级学生兴趣分布情况。具体要求:数据类别为体育(15 人)、音乐(10 人)、绘画(8 人)、阅读(12 人)、其他(5 人);饼图颜色使用鲜明且区分度高的色彩,显示每个类别的名称和占比(保留 1 位小数);图表标题为‘某班级学生兴趣分布’,标题字体大小 18px、颜色黑色,居中显示;图表宽度 600px、高度 400px,背景为白色;添加图例,图例位于图表右侧,图例文字大小 12px、颜色 #333;页面中图表居中显示,整体样式简洁。”

(二)豆包生成的饼图代码及解析

1. 完整代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>某班级学生兴趣分布饼图</title> <!-- 引入ECharts CDN --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script> <style> body { background-color: white; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; font-family: Arial, sans-serif; } #interestChart { width: 600px; height: 400px; border: 1px solid #f5f5f5; border-radius: 8px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); padding: 15px; box-sizing: border-box; } </style> </head> <body> <div></div> <script> // 初始化ECharts实例 var myChart = echarts.init(document.getElementById('interestChart')); // 处理数据,计算占比 var interestData = [ { name: '体育', value: 15 }, { name: '音乐', value: 10 }, { name: '绘画', value: 8 }, { name: '阅读', value: 12 }, { name: '其他', value: 5 } ]; var total = interestData.reduce((sum, item) => sum + item.value, 0); var formattedData = interestData.map(item => ({ name: item.name, value: item.value, label: { formatter: `${item.name}\n{value}人 (${(item.value / total * 100).toFixed(1)}%)` } })); // 图表配置项 var option = { title: { text: '某班级学生兴趣分布', left: 'center', textStyle: { fontSize: 18, color: 'black', fontWeight: '500' }, padding: [0, 0, 15, 0] }, tooltip: { trigger: 'item', formatter: '{b}: {c}人 ({d}%)', backgroundColor: 'rgba(255, 255, 255, 0.95)', borderColor: '#e0e0e0', borderWidth: 1, textStyle: { color: '#333', fontSize: 12 }, padding: 10 }, legend: { orient: 'vertical', right: '10%', top: 'center', textStyle: { fontSize: 12, color: '#333' }, itemWidth: 12, itemHeight: 8, itemGap: 15 }, series: [ { name: '兴趣人数', type: 'pie', radius: ['40%', '70%'], // 环形饼图,内外半径控制 center: ['35%', '50%'], // 饼图位置 avoidLabelOverlap: false, itemStyle: { color: function(params) { // 定义鲜明的颜色数组,确保类别区分度 var colorList = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#FFA07A', '#98D8C8']; return colorList[params.dataIndex]; }, borderColor: 'white', borderWidth: 2 }, label: { show: true, position: 'outside', fontSize: 11, color: '#333', lineHeight: 16 }, labelLine: { show: true, length: 15, length2: 20, lineStyle: { color: '#ccc' } }, data: formattedData } ] }; // 渲染图表 myChart.setOption(option); // 窗口resize时图表自适应 window.addEventListener('resize', function() { myChart.resize(); }); </script> </body> </html> 

效果图:

在这里插入图片描述
2. 代码解析
  • 数据处理逻辑:首先定义原始兴趣数据(类别与人数),通过reduce方法计算总人数,再用map方法格式化数据,为每个类别添加包含 “名称 + 人数 + 占比” 的标签 formatter,避免在配置项中重复计算,提升代码可读性。
  • 页面样式与布局:图表容器设置了浅灰色边框、圆角和轻微阴影,搭配 15px 内边距,避免内容拥挤;body 仍采用 flex 布局,确保图表在页面中垂直水平居中,整体视觉更规整。
  • 饼图核心配置
    • 环形设计:通过radius: ['40%', '70%']设置内外半径,实现环形饼图,相比实心饼图更具设计感,且能减少视觉压迫感。
    • 颜色方案:通过itemStyle.color的回调函数,为不同类别分配['#FF6B6B', '#4ECDC4', '#45B7D1', '#FFA07A', '#98D8C8']等鲜明色彩,确保类别间区分度高,同时设置白色边框(borderWidth: 2),增强类别分隔感。
    • 标签与图例:标签(label)显示在饼图外侧,通过labelLine连接到对应扇区,避免文字重叠;图例(legend)垂直排列在图表右侧居中位置,设置了合适的图标大小和间距,便于快速对应类别与颜色。
    • 交互优化:tooltip 自定义为 “类别:人数(占比)” 格式,背景色为半透明白色,搭配灰色边框,既清晰又不遮挡图表;同时设置了 10px 内边距,提升交互时的视觉舒适度。
  • 自适应功能:与柱状图、折线图一致,通过监听窗口resize事件调用myChart.resize(),确保饼图在窗口尺寸变化时能自动调整,保持完整显示。

(三)饼图效果展示

将代码保存为.html 文件并在浏览器中打开,可看到环形饼图效果:不同兴趣类别的扇区以鲜明色彩区分,外侧标签清晰显示 “类别 + 人数 + 占比”,鼠标 hover 到扇区时,会弹出包含详细信息的 tooltip;右侧图例垂直排列,与扇区颜色一一对应;窗口大小变化时,饼图、标签和图例的位置会自动调整,始终保持良好的布局比例。

五、图表常见问题与豆包解决方案

在使用豆包生成的图表代码时,可能会遇到一些常见问题,此时可通过向豆包反馈问题描述,快速获取解决方案,以下为典型场景示例:

(一)图表不显示或只显示空白容器

问题描述:将代码保存为.html 文件后,用浏览器打开只看到白色容器,无图表内容。

向豆包提问“我使用你生成的 ECharts 饼图代码,打开后只显示空白容器,图表不显示,可能是什么原因?如何解决?”

豆包解决方案

  1. 检查 ECharts CDN 链接是否有效:可在浏览器控制台(F12)的 “Network” 面板查看echarts.min.js是否成功加载,若加载失败,建议替换为备用 CDN(如<script src="``https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js``"></script>)。
  2. 确认图表容器尺寸:确保容器(如#interestChart)已设置明确的widthheight,避免使用百分比(如width: 100%)却未给父元素设置尺寸,导致容器高度为 0。
  3. 检查初始化代码顺序:确保echarts.init()在容器元素(如<div></div>)之后执行,避免因 DOM 未加载完成导致无法绑定容器。

(二)数据标签重叠或显示不全

问题描述:柱状图数据较多时,柱子顶部的数值标签相互重叠,或饼图外侧标签超出页面范围。

向豆包提问:“柱状图 X 轴类别有 12 个,导致顶部数据标签重叠,如何让标签不重叠且完整显示?”

豆包解决方案

  1. 调整标签位置:柱状图可将label.position改为'insideTop'(标签在柱子内部顶部),并设置label.insideOffset: [0, -5],避免与相邻柱子标签重叠。
  2. 倾斜 X 轴标签:在 X 轴配置中添加axisLabel: { rotate: 45 }(倾斜 45 度),减少水平方向占用空间,示例代码:
xAxis: { type: 'category', data: ['1月', '2月', ..., '12月'], axisLabel: { rotate: 45, // 倾斜标签 interval: 0, // 强制显示所有标签 fontSize: 11 } } 
  1. 限制标签字数:若类别名称过长,可通过formatter截断文字并添加省略号,如axisLabel: { formatter: (value) => value.length > 6 ? value.slice(0,6)+'...' : value }

(三)移动端适配问题

问题描述:在手机上打开图表,出现内容溢出屏幕或字体过小的情况。

向豆包提问:“如何优化 ECharts 图表的移动端显示,避免内容溢出,同时让字体大小适配手机屏幕?”

豆包解决方案

  1. 使用响应式尺寸:将容器宽度改为width: 90%,高度改为height: 300px(固定高度避免过矮),并添加max-width: 600px,限制大屏端最大宽度。
  2. 适配字体大小:通过媒体查询动态调整字体,示例 CSS:
@media (max-width: 768px) { #salesChart { height: 300px; } /* 图表内部字体通过ECharts配置动态调整 */ } 
  1. 调整图表内边距:在grid配置中增大左右边距(如grid: { left: '8%', right: '8%' }),避免坐标轴标签溢出;饼图可缩小radius(如radius: ['35%', '65%']),为图例和标签预留更多空间。

六、总结与拓展

(一)使用豆包绘制 HTML 图表的核心流程

  1. 明确需求:确定图表类型(柱状图 / 折线图 / 饼图)、数据内容、样式要求(颜色、字体、尺寸)、交互需求(tooltip、图例)和适配场景(PC / 移动端)。
  2. 精准指令:向豆包清晰描述需求,包含关键参数(如数据数组、图表尺寸、颜色值),避免模糊表述(如 “颜色好看” 可改为 “颜色为 #FF6B6B、#4ECDC4 等鲜明色彩”)。
  3. 测试与优化:将生成的代码在浏览器中测试,若遇到问题,向豆包反馈具体现象(如 “标签重叠”“图表不显示”),获取针对性解决方案。

(二)拓展方向

  1. 多图表组合:可向豆包提出 “在同一页面生成柱状图 + 折线图组合,柱状图展示销售额,折线图展示同比增长率”,实现多维度数据对比。
  2. 动态数据加载:若需从后端接口获取数据,可提问 “如何将 ECharts 图表代码修改为通过 Ajax 请求加载数据,并实现数据更新后图表自动刷新?”。
  3. 个性化交互:需求可进一步细化,如 “为折线图添加点击标记点弹出详情弹窗的功能”“实现饼图点击扇区跳转到对应类别的详情页面”,豆包会生成包含事件绑定的代码。

通过豆包辅助 HTML 图表开发,不仅能减少重复编码工作,还能快速解决技术问题,尤其适合新手开发者或需要快速交付数据可视化需求的场景。只需掌握 “明确需求 + 精准提问” 的技巧,即可高效实现各类图表的定制化开发。

结语

“AI 绘制图表专栏” 的目的,就是让每个人都能轻松掌握用 AI 处理数据、展示数据的技能。不管你是学生、职场人,还是普通人,都能通过这个专栏学会用图表让数据 “说话”,让数据成为自己学习、工作、生活中的好帮手。

接下来,我们会从最基础的图表类型和 AI 工具介绍开始,一步步带你走进图表的世界。只要你跟着学、跟着做,一定能有所收获。准备好了吗?让我们开始吧。

相关书籍推荐:

书名说明
在这里插入图片描述“本书的卓越之处在于,它既能解构复杂概念,又不减损其精妙性。……《理解深度学习》堪称一部全面且与时俱进的深度学习指南。在我看来,这是一部当之无愧的经典之作,是目前最优秀的深度学习教科书。它不仅仅是一本教材,更是一份以智慧、洞察力和前瞻性驾驭技术未来的路线图。”🥇 点击购买
在这里插入图片描述本书开篇详细介绍了LLM的基本原理,随后探讨了多种主流架构框架,既涵盖专有模型(如GPT-3.5/4),也分析开源模型(如Falcon LLM)的独特优势与差异。接下来,我们以基于Python的轻量级框架LangChain为核心,引导读者逐步构建智能体。这些智能体能够从非结构化数据中提取信息,并利用LLM和强大工具包与结构化数据交互。此外,本书还将深入探索LFM领域——该类模型融合了视觉、音频等多态能力,可以覆盖更广泛的AI任务。🥇 点击购买

联系博主

    xcLeigh 博主,全栈领域优质创作者,博客专家,目前,活跃在ZEEKLOG、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。

    亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

     愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

    至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


     💞 关注博主 🌀 带你实现畅游前后端!

     🏰 大屏可视化 🌀 带你体验酷炫大屏!

     💯 神秘个人简介 🌀 带你体验不一样得介绍!

     🥇 从零到一学习Python 🌀 带你玩转Python技术流!

     🏆 前沿应用深度测评 🌀 前沿AI产品热门应用在线等你来发掘!

     💦 :本文撰写于ZEEKLOG平台,作者:xcLeigh所有权归作者所有)https://xcleigh.blog.ZEEKLOG.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


在这里插入图片描述

     📣 亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(或者关注下方公众号,看见后第一时间回复,还有海量编程资料等你来领!),博主看见后一定及时给您答复 💌💌💌

Read more

Github Copilot Agent模式使用经验分享

Github Copilot Agent模式使用经验分享

本文总结了如何使用 GitHub Copilot Agent 模式,并分享实际操作经验。 前置设置 1. 使用 VSCode Insider; 2. 安装 GitHub Copilot(预览版)插件; 3. 选择 Claude 3.7 Sonnet(预览版)模型,该模型在代码编写方面表现出色,同时其它模型在速度、多模态(如图像识别)及推理能力上具备优势; 4. 工作模式选择 Agent。 操作步骤 1. 打开 “Copilot Edits” 选项卡; 2. 添加附件,如 “Codebase”、“Get Errors”、“Terminal Last Commands” 等; 3.

By Ne0inhk

Stable-Diffusion-v1-5-archiveWebUI高可用:双实例+负载均衡+健康检查部署

Stable-Diffusion-v1-5-archive WebUI 高可用:双实例+负载均衡+健康检查部署 你是不是也遇到过这种情况:正在用 Stable Diffusion 生成一张重要的设计图,突然页面卡住,刷新一下直接 502 错误,所有工作进度都丢了。或者团队里几个人同时用,服务器就慢得像蜗牛,一张图要等好几分钟。 对于需要稳定、高效生成图片的团队或个人来说,单点部署的 WebUI 服务就像走钢丝——一旦服务挂了,所有工作都得停摆。今天,我就来分享一个实战方案:为 Stable-Diffusion-v1-5-archive WebUI 搭建一套高可用架构。 这套方案的核心很简单:部署两个 WebUI 实例,前面加一个负载均衡器,再配上自动健康检查。这样一来,任何一个实例出问题,流量会自动切到另一个健康的实例上,服务几乎不会中断。同时,负载均衡还能把用户请求分摊开,提升整体的处理能力。 下面,我就手把手带你从零搭建这套系统。 1. 方案设计与核心思路 在开始敲命令之前,

By Ne0inhk
2026年高校AIGC检测新规解读:AI率多少算合格?

2026年高校AIGC检测新规解读:AI率多少算合格?

2026年高校AIGC检测新规解读:AI率多少算合格? 从2024年知网正式上线AIGC检测功能开始,短短两年时间,"AI率"已经从一个新鲜名词变成了每个毕业生必须面对的硬性指标。2026年,各高校的AIGC检测政策进一步收紧和细化,要求也越来越明确。 那么,2026年AI率到底多少才算合格?不同学校的标准差别大吗?不合格会面临什么后果?本文将对这些问题进行深入解读。 一、AIGC检测已成为毕业论文审查的标配 回顾AIGC检测在高校中的普及历程,可以用"指数级扩散"来形容: * 2024年:知网上线AIGC检测功能,少数985/211院校开始试点,大部分学校处于观望状态 * 2025年:超过60%的本科院校和80%的研究生培养单位将AIGC检测纳入论文审查流程 * 2026年:AIGC检测基本实现全覆盖,包括专科院校在内的绝大部分高等教育机构都已建立相关制度 这一进程的背后,是教育部在2025年初发布的《关于加强高等学校学位论文学术诚信管理的指导意见》,其中明确提到"鼓励各高校引入人工智能生成内容检测机制,将AIGC检测作为论文质量保障的重要环节"。 虽然教育部没

By Ne0inhk
AIGC已经不是未来,而是现在:2025年最值得关注的6大趋势!

AIGC已经不是未来,而是现在:2025年最值得关注的6大趋势!

过去一年,AIGC(AI 生成内容)从“概念”彻底走向“落地”。无论你是程序员、产品经理、内容创作者,甚至是业余爱好者,AIGC 已经渗透到每一个内容生产链条中,以一种“你还没准备好,它已经来了”的节奏迅速发展。 本文将带你系统了解:2025 年最热门的 AIGC 内容形态、前沿产品、典型用例,以及未来趋势。 🎥 1. 文生视频已落地:Sora 等产品引爆创意革命         当 OpenAI 推出 Sora 时,整个 AI 圈都沸腾了。         只需一句提示词,比如: "一个穿太空服的熊猫在月球上弹钢琴"         Sora 就能输出秒级电影级视频片段。光影、动作、镜头感,全部一应俱全。 🔧 技术关键词:

By Ne0inhk