ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OfficeCLI 折线图(Line Chart)全能力实战指南:从 32 个图表读懂 `add --type chart` 的完整参数体系

OfficeCLI 折线图(Line Chart)全能力实战指南:从 32 个图表读懂 `add --type chart` 的完整参数体系 CLIAI 应用MCP 服务【免费下载链接】OfficeCLIOfficeCLI is the first and best Office suite purpose-built for AI agents to read, edit, and automate Word, Excel, and PowerPoint files. Free, open-source, single binary, no Office installation required.项目地址https://gitcode.com/GitHub_Trending/of/OfficeCLI点击查看免费下载本篇指南以 OfficeCLI 仓库中 examples/excel/charts/charts-line.md 为主干系统拆解其配套演示charts-line.py/charts-line.sh/charts-line.xlsx所覆盖的 9 个工作表、32 个折线图逐一说明每种--prop参数的取值、含义与组合方式并结合仓库源码ChartHelper.Builder.cs、ChartHelper.Reader.cs 等揭示这些参数在底层如何被解析与写入。读完本文你可以直接用officecli add --type chart --prop chartTypeline …命令生成从基础折线、堆叠/百分比堆叠、3D 折线到次坐标轴、参考线、条件着色、drop/hi-low 线等全部变体的专业 Excel 图表。一、演示文件构成与复现方式charts-line这套演示由三个文件协同构成charts-line.py—— Python 脚本驱动officecli Python SDKpip install officecli-sdk在单个 resident 进程中通过doc.batch(...)/doc.send(...)将每个写入与图表命令经命名管道发送每个图表命令在注释中同时给出了可复制的 shell 命令。charts-line.sh—— CLI 脚本使用officecli add $FILE /Sheet --type chart逐条生成图表是 SDK 版的对偶实现。charts-line.xlsx—— 生成的成品工作簿9 个工作表1 个数据表Sheet1 8 个图表工作表共 32 个图表。重新生成cd examples/excel/charts python3 charts-line.py # SDK 方式 # 或 bash charts-line.sh # CLI 方式等价产出charts-line.sh结尾还会执行officecli validate $FILE做完整校验。注意与 SDK 版的doc.batch一致charts-line.sh故意不设置set -e目的是容忍UNSUPPORTED props这类向前兼容警告officecli 以退出码 2 表示保证整份文档能被完整构建出来。从源码看officecli add --type chart的入口位于 ExcelHandler.Add.Chart.cs默认chartType为column用户传入chartTypeline后会经ChartHelper.ParseChartType(chartType)校验而构建 OOXML 时line与line3d分别走 ChartHelper.Builder.cs 中的LineChart/Line3DChart分支读取回读时则由 ChartHelper.Reader.cs 把c:lineChart归一化为line、把c:line3DChart归一化为line3d。整个参数体系因此可稳定地在 CLI 与 SDK 之间来回往返。二、Sheet 1折线图基础4 图—— 数据输入的四种方式与标记第一张工作表用 4 个图表覆盖折线图全部四种数据输入方式与标记marker基础图 1内联命名序列 轴标题officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop series1Product A:120,180,210,250 \ --prop series2Product B:90,140,160,200 \ --prop categoriesQ1,Q2,Q3,Q4 \ --prop colors4472C4,ED7D31,70AD47 \ --prop catTitleQuarter --prop axisTitleRevenue \ --prop axisfont9:58626E:Arial --prop gridlinesD9D9D9:0.5:dot图 2单元格区域序列点号语法 标记officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop series1.nameEast \ --prop series1.valuesSheet1!B2:B13 \ --prop series1.categoriesSheet1!A2:A13 \ --prop showMarkerstrue --prop markercircle:6:2E75B6 \ --prop minorGridlinesEEEEEE:0.3:dot图 3dataRange自动读取表头作为系列名 菱形标记officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataRangeSheet1!A1:E13 \ --prop showMarkerstrue --prop markerdiamond:5:333333 \ --prop legendbottom --prop legendfont9:58626E:Calibri图 4data内联简写 markernoneofficecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataActual:80,120,160;Target:100,130,160 \ --prop markernone --prop legendright本表覆盖能力series1Name:v1,v2内联命名序列、series1.name/.values/.categories单元格区域点号语法、dataRange整块区域自动读取首行作为系列名、dataName:v1,v2;Name2:v1,v2简写、categories、colors、catTitle、axisTitle、axisfont、gridlines、minorGridlines、showMarkers、markercircle/diamond/none、legendbottom/right、legendfont。数据输入建议dataRange最省事但要求区域连续且首行为表头非连续数据用series{N}.values/categories精确引用临时数据用series1...或data...内联无需预先落表。三、Sheet 2折线样式4 图—— 平滑、虚线、标记与透明度本表 4 个图表演示视觉样式平滑曲线、虚线模式、标记样式与透明度。图 1平滑曲线 阴影 隐藏坐标轴sparkline 式极简效果officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop smoothtrue --prop lineWidth2.5 \ --prop gridlinesnone --prop axisVisiblefalse \ --prop series.shadow000000-4-315-2-40图 2虚线样式全局作用于所有系列officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop lineDashdash --prop lineWidth2lineDash支持的值solid、dot、dash、dashdot、longdash、longdashdot、longdashdotdot。图 3标记样式 系列描边officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop showMarkerstrue --prop markersquare:7:4472C4 \ --prop series.outlineFFFFFF-0.5图 4透明线条 渐变绘图区officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop lineWidth3 --prop smoothtrue \ --prop transparency30 \ --prop plotFillF0F4F8-D6E4F0:90 --prop chartFillFFFFFF \ --prop title.fontGeorgia --prop title.size14 \ --prop title.color1F4E79 --prop title.boldtrue \ --prop roundedCornerstrue本表覆盖能力smoothBezier 平滑、lineWidth、lineDash、markersquare、series.shadow格式color-blur-angle-dist-opacity、series.outline、transparency百分比透明度、plotFill支持色1-色2:角度渐变语法、chartFill、title.font/.size/.color/.bold、roundedCorners、gridlinesnone、axisVisiblefalse。标记样式完整清单在 SDK 版注释中给出circle、diamond、square、triangle、star、x、plus、dash、dot、none标记参数格式为样式:尺寸:填充色。smooth在源码中同样适用于line与scatter两类图见 ChartHelper.Advanced.cs。四、Sheet 3折线图变体4 图—— 堆叠、百分比堆叠、3D本表覆盖line的全部图表类型变体图 1堆叠折线累计值officecli add data.xlsx /Sheet --type chart \ --prop chartTypelineStacked \ --prop majorTickMarkoutside --prop tickLabelPoslow图 2100% 堆叠折线按比例officecli add data.xlsx /Sheet --type chart \ --prop chartTypelinePercentStacked \ --prop axisNumFmt0%图 33D 折线 透视officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline3d \ --prop view3d15,20,30 --prop style3图 4堆叠折线 数据表officecli add data.xlsx /Sheet --type chart \ --prop chartTypelineStacked \ --prop dataTabletrue --prop legendnone本表覆盖能力lineStacked、linePercentStacked、line3d、majorTickMark、tickLabelPos、axisNumFmt、view3d格式rotX,rotY,perspective、style预设图表样式 1–48源码中对应ChartExStyleBuilder的样式变体生成、dataTable、legendnone。line3d在底层会被构建为c:line3DChart并挂载分类轴、数值轴与系列轴三个轴见 ChartHelper.Builder.cs这也是 3D 折线支持gapDepth见 Sheet 7的原因。五、Sheet 4坐标轴与网格线4 图—— 缩放、对数、反转、刻度本表 4 个图表覆盖全部坐标轴与网格线配置。第一个图表同时演示轴子元素Set路径——可在图表创建后二次修改坐标轴。图 1自定义轴缩放 轴线样式officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop axisMin80 --prop axisMax220 \ --prop majorUnit20 --prop minorUnit10 \ --prop axisLineC00000:1.5:solid --prop catAxisLine2E75B6:1.5:solid创建后经子元素路径修改轴/SheetName/chart[N]/axis[roleROLE]officecli set data.xlsx /4-Axis Gridlines/chart[1]/axis[rolevalue] \ --prop min80 --prop max220 \ --prop format#,##0 \ --prop majorGridlinestrue \ --prop labelRotation0该子元素路径与图表层级的axisMin/axisMax/gridlines/labelRotation语义相同但挂在独立子元素上额外暴露role、dispUnits、majorUnit、title、visible、logBase等轴专属属性SDK 版注释与charts-line.py中均有说明。图 2对数刻度officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop logBase10 \ --prop markertriangle:7:C00000图 3反转数值轴officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop axisReversetrue图 4显示单位 内外刻度officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dispUnitsthousands \ --prop majorTickMarkoutside --prop minorTickMarkinside \ --prop markerstar:7:2E75B6本表覆盖能力axisMin、axisMax、majorUnit、minorUnit、axisLine数值轴线条格式颜色:宽度:线型、catAxisLine分类轴线条、logBase、axisReverse翻转方向、dispUnitsthousands/millions、majorTickMark、minorTickMark、markertriangle/star轴子元素 Set 路径axis[rolevalue]下的min、max、format、majorGridlines、labelRotation。六、Sheet 5数据标签与图例4 图本表 4 个图表演示数据标签与图例的自定义。图 1数据标签 数字格式 分隔符officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataLabelstrue --prop labelPostop \ --prop labelFont9:333333:true \ --prop dataLabels.numFmt#,##0 \ --prop dataLabels.separator: 图 2逐个数据标签自定义隐藏部分、高亮峰值officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataLabelstrue \ --prop dataLabel1.deletetrue --prop dataLabel2.deletetrue \ --prop point4.colorC00000 \ --prop dataLabel4.textPeak: 210 --prop dataLabel4.y0.15图 3图例覆盖overlayofficecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop legendtop --prop legend.overlaytrue \ --prop legendfont10:1F4E79:Calibri图 4手动布局——绘图区、标题、图例定位officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop plotArea.x0.12 --prop plotArea.y0.18 \ --prop plotArea.w0.82 --prop plotArea.h0.55 \ --prop title.x0.25 --prop title.y0.02 \ --prop legend.x0.15 --prop legend.y0.82 \ --prop legend.w0.7 --prop legend.h0.12本表覆盖能力dataLabels、labelPostop/center/insideEnd/outsideEnd/bestFit、labelFont格式尺寸:颜色:粗体、dataLabels.numFmt、dataLabels.separator、dataLabel{N}.delete隐藏指定标签、dataLabel{N}.text指定点自定义文本、dataLabel{N}.y单个标签手动纵向位置0–1 小数、point{N}.color单点标记着色、legendtop、legend.overlay、legendfont格式尺寸:颜色:字体名、plotArea.x/y/w/h、title.x/y、legend.x/y/w/h均为 0–1 小数定位。图 2 是典型的「峰值高亮」场景用dataLabel{N}.delete隐藏 1、2、5、6 号标签仅保留 4 号标签配合point4.color将峰值点染红再用dataLabel4.y微调标签垂直位置。七、Sheet 6特效与进阶4 图—— 次坐标轴、参考线、发光阴影、条件着色图 1次坐标轴双刻度officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop secondaryAxis2 \ --prop series1Revenue:120,180,250,310 \ --prop series2Growth %:50,33,39,24secondaryAxis接受基于 1 的系列序号此处2表示第 2 个系列Growth %挂到右侧次轴实现两个量纲金额 vs 百分比的叠加展示。图 2参考线 longdash 虚线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop referenceLine150:FF0000:1.5:dash \ --prop lineDashlongdashreferenceLine格式为数值:颜色:线宽:线型——数值是 Y 轴上的阈值/目标值颜色为不带#的十六进制 RGB线宽默认 1.5pt线型可选solid/dot/dash/dashdot/longdash。图 3标题发光/阴影 系列阴影officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop title.glow4472C4-8-60 \ --prop title.shadow000000-3-315-2-40 \ --prop series.shadow000000-3-315-1-30图 4条件着色 图表/绘图区边框officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop colorRule0:C00000:70AD47 \ --prop referenceLine0:888888:1:solid \ --prop chartArea.borderD0D0D0:1:solid \ --prop plotArea.borderE0E0E0:0.5:dot本表覆盖能力secondaryAxis、referenceLine、title.glow格式颜色-半径-透明度、title.shadow/series.shadow格式颜色-模糊-角度-距离-透明度、colorRule格式阈值:低于色:高于色低于阈值染下色、高于阈值染上色、chartArea.border、plotArea.border。八、Sheet 7折线专属结构元素4 图—— Drop 线、Hi-Low 线、涨跌柱、3D 间隙深度图 1Drop 线数据点到 X 轴的垂直线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dropLinestrue图 2High-Low 线每个分类下连接最高与最低系列的线段officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop hiLowLinestrue图 3涨跌柱Up-Down 柱自定义涨/跌颜色officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop updownbars100:70AD47:C00000updownbars格式为间隙宽度:涨色:跌色间隙宽度取值 0–500默认 150涨色用于 Close Open 的柱跌色用于 Close Open 的柱典型用于金融 OHLC 涨跌可视化。图 43D 折线 间隙深度officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline3d \ --prop gapDepth300本表覆盖能力dropLines、hiLowLines、updownbars、gapDepth3D 深度间距0–500。九、Sheet 8坐标轴进阶4 图—— 交叉点、空单元格处理、数值轴位置图 1crossesAt—— 数值轴在指定 Y 值处与分类轴相交officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop titlecrossesAt — axis baseline at 50 \ --prop series1Score:40,65,55,80,45,90,70 \ --prop categoriesJan,Feb,Mar,Apr,May,Jun,Jul \ --prop crossesAt50 \ --prop lineWidth2 --prop markercircle --prop markerSize6crossesAt50会把基线抬高到 y50低于 50 的数据点落在中线之下非常适合阈值可视化。图 2dispBlanksAsspan—— 跨越空数据点连线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop titledispBlanksAsspan (connect gaps) \ --prop series1Revenue:100,120,130,150,160 \ --prop categoriesJan,Feb,Mar,Apr,May \ --prop dispBlanksAsspan \ --prop lineWidth2 --prop markercircle --prop markerSize6图 3dispBlanksAszerocrossesAt0officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop titledispBlanksAszero crossesAt0 \ --prop series1Revenue:100,120,130,150,160 \ --prop categoriesJan,Feb,Mar,Apr,May \ --prop dispBlanksAszero \ --prop crossesAt0 \ --prop lineWidth2 --prop markercircle --prop markerSize6图 4crossesmax—— 数值轴出现在分类轴远端右侧officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop titlecrossesmax (value axis at far end) \ --prop series1Index:45,60,52,75,80,68,90 \ --prop categoriesMon,Tue,Wed,Thu,Fri,Sat,Sun \ --prop crossesmax \ --prop lineWidth2本表覆盖能力crossesAt数值数值轴在指定 Y 值处与分类轴相交、dispBlanksAsspan跨空点直线连接/zero空单元格按 0 绘制/gap留洞、crossesmax数值轴移到分类轴远端还支持autoZero、min。十、完整功能覆盖总表功能所在 Sheet图表类型line, lineStacked, linePercentStacked, line3d1, 3数据输入series, dataRange, data, series.name/values/categories1线条样式smooth, lineWidth, lineDash, colors2标记circle, diamond, square, triangle, star, none, auto1, 2, 4轴缩放axisMin/Max, majorUnit, minorUnit4轴特性logBase, axisReverse, dispUnits, axisNumFmt3, 4轴线axisLine, catAxisLine4轴可见性axisVisible2刻度majorTickMark, minorTickMark, tickLabelPos3, 4网格线gridlines, minorGridlines, gridlinesnone1, 2, 4数据标签dataLabels, labelPos, labelFont, numFmt, separator5自定义标签dataLabel{N}.text, dataLabel{N}.delete, dataLabel{N}.y5单点颜色point{N}.color5图例position, legendfont, legend.overlay, legendnone1, 3, 5布局plotArea.x/y/w/h, title.x/y, legend.x/y/w/h5特效series.shadow, series.outline, transparency2, 6标题样式font, size, color, bold, glow, shadow2, 6填充plotFill, chartFill纯色 渐变2, 3, 6边框chartArea.border, plotArea.border6进阶secondaryAxis, referenceLine, colorRule6折线元素dropLines, hiLowLines, upDownBars73Dview3d, gapDepth, style3, 7其他dataTable, roundedCorners2, 3轴子元素 Setaxis[rolevalue] 的 min/max/format/majorGridlines/labelRotation4轴进阶crossesAt, crossesmax/autoZero/min, dispBlanksAsspan/zero/gap8十一、检查生成的图表生成charts-line.xlsx后可以用以下命令做回读验证officecli query charts-line.xlsx chart # 列出所有图表部件 officecli get charts-line.xlsx /1-Line Fundamentals/chart[1] # 读取某个图表 XMLquery/get之所以能回读这些图表是因为读写两端共用同一套类型归一化逻辑写入时line3d被落为c:line3DChart读取时由 ChartHelper.Reader.cs 再归一化回line/line3d标签保证「写什么、读回什么」。十二、CLI 与 SDK 双轨同一套参数体系charts-line.md配套的两个脚本证明了同一套参数可跨 CLI 与 SDK 使用CLI 方式charts-line.shofficecli create/open/set/add --type chart/close/validate串行驱动SDK 方式charts-line.py一条 resident 进程内用officecli.create(FILE, --force)打开文档doc.batch(items)批量提交{command:add,parent:/Sheet,type:chart,props:{...}}形状的命令字典最后doc.send({command:save})落盘。也就是说本文所有--prop参数在 Python 中就是 props 字典的键值对officecli batch列表中的每一项也正是这种{command,parent/path,type,props}结构。若想查阅图表属性更细的说明仓库还提供了结构化的属性 Schemaschemas/help/xlsx/chart.json以及分轴的 chart-axis.json、chart-series.json可配合本指南按需检索。掌握了上述 8 个工作表、32 个图表的参数矩阵你就能用一条officecli add --type chart命令自由组合出绝大多数真实业务所需的 Excel 折线图形态——无论是趋势对比、占比演变、3D 透视、双轴混合量纲还是带参考线与条件着色的仪表盘式图表。赞分享CLIAI 应用MCP 服务【免费下载链接】OfficeCLIOfficeCLI is the first and best Office suite purpose-built for AI agents to read, edit, and automate Word, Excel, and PowerPoint files. Free, open-source, single binary, no Office installation required.项目地址https://gitcode.com/GitHub_Trending/of/OfficeCLI点击查看免费下载相关推荐Chart.js 组合图表实战柱状图与折线图Combo Bar/Line Chart混搭指南Chart.js 组合图表实战柱状图与折线图Combo Bar/Line Chart混搭指南 本篇技术指南以 Chart.js 官方示例 Combo ba图表库前端数据可视化Go Chart 图表类型大全从折线图到饼图的完整实现Go Chart 图表类型大全从折线图到饼图的完整实现 Go Chart是一个功能强大的Go语言图表库能够帮助你快速创建各种专业的数据可视化图表。无论你是数Chart.js 折线图堆叠Line Chart Stacked完整实战指南从配置到源码原理Chart.js 折线图堆叠Line Chart Stacked完整实战指南从配置到源码原理 导读 本文基于 Chart.js 仓库中的官方交互示例 do图表库前端数据可视化上一篇一个DLL让暗黑破坏神2从25帧、满屏黑边跑到144帧下一篇GBFR-Logs3分钟看懂你的每一点DPS去向创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表