资讯详情

资讯详情

OfficeCLI 折线图全攻略:用命令行在 Excel 中生成 line / lineStacked / line3d 图表

OfficeCLI 折线图全攻略用命令行在 Excel 中生成 line / lineStacked / line3d 图表【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源仅包含一个二进制文件无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI本文以 OfficeCLI 仓库中的折线图演示工程 charts-line.md 为骨架系统讲解如何用officecli add --type chart在 xlsx 工作簿中创建和定制折线图。读完本文你将掌握折线图的数据输入方式内联序列、单元格区域、dataRange、data 简写、八类视觉定制线条样式、标记、坐标轴、网格线、数据标签、图例、特效、折线专属元素以及通过子元素路径在创建后二次修改坐标轴的完整方法并能在实际业务中直接复用文中的命令。演示工程一览该演示由三个配套文件组成三者协同工作charts-line.py — 通过 OfficeCLI Python SDK 驱动生成工作簿的脚本每个图表命令都以可复制的 shell 命令形式写在注释中charts-line.xlsx — 生成的工作簿共 9 个工作表1 个数据表 8 个图表表总计 32 张图表charts-line.md — 本文所依据的文档将每个工作表映射到其演示的功能特性上。重新生成工作簿只需两条命令cd examples/excel python3 charts-line.py # → charts-line.xlsx命令行的等价位实现位于 charts-line.sh它用officecli create/officecli open/officecli set/officecli add/officecli close/officecli validate完成同样的构建流程两者生成等价的工作簿。前置准备共享数据源所有图表共用Sheet1中的源数据表头行为Month, East, South, North, West随后 12 行填充 1—12 月四个区域的数值。CLI 版逐格写入officecli set $FILE /Sheet1/A1 --prop textMonth --prop boldtrue officecli set $FILE /Sheet1/B1 --prop textEast --prop boldtrue # ... 依此类推A2:A13 为月份B2:E13 为四个区域数值这段数据是后续dataRangeSheet1!A1:E13、series1.valuesSheet1!B2:B13等单元格区域引用的落点建议在生成图表前先写好。图表添加命令的统一形态所有折线图都用同一条命令骨架创建officecli add data.xlsx /工作表名 --type chart \ --prop chartTypeline \ --prop 属性名属性值 ...核心参数chartType决定图表类型。根据 xlsx 图表 schema 和 共享图表 schema 中的定义折线族支持line、lineStacked、linePercentStacked、line3d四种类型schema 中以stacked/percentStacked前缀修饰符和3d后缀修饰符声明。chartType在创建时固定schema 明确注明改变类型需重建图表 XML因此需要更换类型时应删除后重新添加。此外图表还可用x、y、width、height控制在工作表中的锚定位置。Sheet 1数据输入方式与标记基础本表用四张基础折线图覆盖了全部数据输入方法和标记marker基础。内联命名序列 轴标题——series1Name:v1,v2语法直接把序列名和数值写进命令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单元格区域序列点号语法——用series1.name/series1.values/series1.categories引用工作表区域适合数据已存在于工作表的场景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:dotdataRange 自动读取表头——dataRange自动把区域首行识别为序列名首列识别为分类若未显式给出categoriesofficecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataRangeSheet1!A1:E13 \ --prop showMarkerstrue --prop markerdiamond:5:333333 \ --prop legendbottom --prop legendfont9:58626E:Calibri根据 schema 对dataRange的说明它是 xlsx 专属属性pptx/docx 图表内嵌数据无宿主工作表可引用且为 Add-time only。内联数据简写 无标记——data用分号分隔多条序列officecli 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、data简写、categories、colors、catTitle、axisTitle、axisfont、gridlines、minorGridlines、showMarkers、markercircle、diamond、none、legendbottom、right、legendfont。Sheet 2线条样式定制四张图表演示平滑、虚线、标记与透明度的视觉定制。平滑曲线 阴影 隐藏坐标轴——smoothtrue将折线变为贝塞尔曲线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop smoothtrue --prop lineWidth2.5 \ --prop gridlinesnone --prop axisVisiblefalse \ --prop series.shadow000000-4-315-2-40series.shadow采用颜色-模糊-角度-距离-透明度五段格式。axisVisiblefalse可隐藏两个坐标轴做出近似迷你图的极简效果。虚线样式作用于全部序列officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop lineDashdash --prop lineWidth2标记样式 序列描边——series.outline给标记/线条加白边officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop showMarkerstrue --prop markersquare:7:4472C4 \ --prop series.outlineFFFFFF-0.5透明线条 渐变绘图区——plotFill支持颜色1-颜色2:角度的渐变格式transparency控制线条透明度百分比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本表特性清单smooth、lineWidth、lineDashsolid/dot/dash/dashdot/longdash/longdashdot/longdashdotdot、markersquare、series.shadow、series.outline、transparency、plotFill渐变、chartFill、title.font/.size/.color/.bold、roundedCorners、gridlinesnone、axisVisiblefalse。关于标记的完整取值共享 schema 的marker属性列出了none, auto, circle, square, diamond, triangle, x, plus, star, dash, dot格式为symbol、symbol:size或symbol:size:color其中markerSize的取值范围是 2..72。Sheet 3折线图类型变体四张图表覆盖折线图的所有类型变体。堆叠折线累计值officecli add data.xlsx /Sheet --type chart \ --prop chartTypelineStacked \ --prop majorTickMarkoutside --prop tickLabelPoslow100% 堆叠折线占比——axisNumFmt0%让数值轴以百分比显示officecli add data.xlsx /Sheet --type chart \ --prop chartTypelinePercentStacked \ --prop axisNumFmt0%3D 折线透视——view3d依次为rotX,rotY,perspective三个值style选用预设图表样式1–48officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline3d \ --prop view3d15,20,30 --prop style3堆叠折线 数据表——dataTabletrue在图表下方显示数值表此时隐藏图例officecli add data.xlsx /Sheet --type chart \ --prop chartTypelineStacked \ --prop dataTabletrue --prop legendnone本表特性清单lineStacked、linePercentStacked、line3d、majorTickMark、tickLabelPos、axisNumFmt、view3drotX,rotY,perspective、style预设 1-48、dataTable、legendnone。Sheet 4坐标轴与网格线四张图表覆盖坐标轴与网格线的全部配置。第一张图同时演示坐标轴子元素Set路径——它允许在图表创建后修改坐标轴。自定义坐标轴刻度 轴线样式——axisMin/axisMax设定数值范围majorUnit/minorUnit设定主次刻度间隔axisLine和catAxisLine分别给数值轴、分类轴着色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创建后通过子元素路径修改坐标轴——这是本表的核心亮点。图表创建后可用set命令沿/工作表名/chart[N]/axis[role值]路径修改坐标轴officecli set data.xlsx /4-Axis Gridlines/chart[1]/axis[rolevalue] \ --prop min80 --prop max220 \ --prop format#,##0 \ --prop majorGridlinestrue \ --prop labelRotation0根据 xlsx chart-axis schemaaxis子元素以role作为寻址键合法值为category、value、value2、series该元素只支持set/get不支持add/remove坐标轴由 chartType 隐式创建/销毁。在图表创建阶段应使用图表级axis*快捷属性axismin、axismax、axistitle、axisfont等创建后则走 chart-axis 路径。轴级可写属性见 共享 chart-axis schema包括format、labelRotation、logBase、majorGridlines、max、min、visible、lineWidth/lineDash等。对数刻度officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop logBase10 \ --prop markertriangle:7:C00000反转数值轴officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop axisReversetrue显示单位 刻度标记——dispUnitsthousands让大数值以千为单位显示并带单位标签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数据标签与图例四张图表演示数据标签与图例的定制。带数字格式的数据标签——labelFont采用字号:颜色:加粗格式officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dataLabelstrue --prop labelPostop \ --prop labelFont9:333333:true \ --prop dataLabels.numFmt#,##0 \ --prop dataLabels.separator: 自定义单个数据标签——dataLabel{N}.delete隐藏指定标签、dataLabel{N}.text替换文本、dataLabel{N}.y手动定位0–1 小数、point{N}.color给单个数据点标记着色可用于突出峰值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图例覆盖层——legend.overlaytrue让图例浮在绘图区之上而非占用独立空间officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop legendtop --prop legend.overlaytrue \ --prop legendfont10:1F4E79:Calibri手动布局——plotArea、title、legend的x/y/w/h均以 0–1 小数表示相对图表区域的百分比位置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手动标签位置、point{N}.color单点着色、legendtop、legend.overlay、legendfont、plotArea.x/y/w/h、title.x/y、legend.x/y/w/h。Sheet 6特效与高级功能四张图表演示次坐标轴、参考线、特效与条件着色。次坐标轴双刻度——secondaryAxis接收 1 基的序列索引把指定序列放到右侧次轴officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop secondaryAxis2 \ --prop series1Revenue:120,180,250,310 \ --prop series2Growth %:50,33,39,24参考线阈值线——referenceLine格式为值:颜色:宽度:虚线样式颜色为不带#的十六进制 RGBofficecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop referenceLine150:FF0000:1.5:dash \ --prop lineDashlongdash标题发光/阴影特效——title.glow格式为颜色-半径-透明度title.shadow与series.shadow均为颜色-模糊-角度-距离-透明度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条件着色 图表/绘图区边框——colorRule格式为阈值:低于颜色:高于颜色低于阈值的数据点用第一种颜色、高于用第二种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本表特性清单secondaryAxis1 基序列索引、referenceLine值:颜色:宽度:虚线、title.glow颜色-半径-透明度、title.shadow颜色-模糊-角度-距离-透明度、series.shadow、colorRule阈值:低于颜色:高于颜色、chartArea.border、plotArea.border。colorRule在 共享 schema 中以colorrule/conditionalcolor别名声明格式即threshold:belowColor:aboveColor。Sheet 7折线图专属结构元素四张图表演示折线图特有的结构元素。垂直线Drop Lines——从数据点向下连到分类轴的竖直辅助线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop dropLinestrue高低线High-Low Lines——连接每个分类上最高与最低序列的连线officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop hiLowLinestrue涨跌柱Up-Down Bars——updownbars格式为间隙宽度:涨颜色:跌颜色gapWidth 默认 150、范围 0–500可用于金融涨跌可视化officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline \ --prop updownbars100:70AD47:C000003D 折线 深度间距——gapDepth控制 3D 图表中序列间的深度间隔0–500officecli add data.xlsx /Sheet --type chart \ --prop chartTypeline3d \ --prop gapDepth300本表特性清单dropLines垂直下落线、hiLowLines高低连接线、updownbarsgapWidth:upColor:downColor、gapDepth3D 深度间距 0-500。schema 中droplines、hilowlines均声明appliesWhen: chartType linehiLowLines 另适用于 stock且除了布尔开关外还支持颜色[:宽度[:虚线]]的完整线型规格。Sheet 8坐标轴进阶行为四张图表演示分类轴交叉点、空单元格处理与数值轴位置。crossesAt——数值轴在指定 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 markerSize6dispBlanksAsspan——直线跨越空数据点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 markerSize6dispBlanksAszero crossesAt0——空单元格按 0 绘制数值轴在 y0 处交叉officecli 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 markerSize6crossesmax——数值轴位于分类轴远端右侧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本表特性清单crossesAt50数值轴在 y50 处与分类轴交叉低于该值的数据落于中线下方、dispBlanksAsspan直线连接空数据点、dispBlanksAszero空单元格按 0 渲染、dispBlanksAsgap留空、crossesmax数值轴位于分类轴远端另有autoZero、min取值。schema 中dispBlanksAs的合法枚举正是gap/zero/spancrosses的合法值为autoZero默认/max/min与文档完全对应。完整功能覆盖表下表汇总了折线图全部特性及其演示位置可作快速查阅索引功能所在表图表类型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图例位置, 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, crosses (max/autoZero/min), dispBlanksAs (span/zero/gap)8检查生成的文件工作簿生成后可用 OfficeCLI 的查询能力验证结果# 列出工作簿中所有图表及其类型 officecli query charts-line.xlsx chart # 读取某个具体图表节点的完整属性 officecli get charts-line.xlsx /1-Line Fundamentals/chart[1]其中query适合总览全部 32 张图表的分布get则按/SheetName/chart[N]位置路径深入读取单张图表的全部属性schema 中paths.positional定义的正是这一寻址格式便于在自动化流程中做回归校验。理解底层schema 与属性校验机制折线图所有参数并非拍脑袋实现而是由仓库中的 schema 声明驱动。以 xlsx chart schema 为例可以观察到几个关键设计chartType 为枚举 修饰符模型基础类型bar/column/line/pie/area…之上叠加3d后缀与stacked/percentStacked前缀构成line3d、lineStacked等变体chartType只允许 add不允许 setset: false且 schema 明确提示改变类型需要重建图表 XML。点号命名空间schema 的 note 声明校验器接受series.、axis.、trendline.、datalabels.、font.、fill.、border.等点号子属性命名空间以及series{N}.、dataLabel{N}.、point{N}.等索引式子属性命名空间——这正是文档中series1.values、dataLabel4.text、point4.color等写法的来源。Add-time 与 Set-time 分离dataRange、data等属性标注add: true, set: false仅创建时可用axismin/axismax/axistitle/axisfont等坐标轴快捷属性同样只允许 add。创建后要改坐标轴必须走 chart-axis schema 的/chart[N]/axis[role...]路径——这正是 Sheet 4 中officecli set命令的设计依据。条件约束appliesWhendroplines、hilowlines声明仅适用于 linehilowlines 另含 stockgapdepth仅适用于 bar3d/line3d/area3d校验器会据此对不匹配的用法给出提示保证生成的 OOXML 合法。readback 支持多数属性声明了get: true与 readback 描述如dispBlanksAs token、crosses token意味着officecli get能把已生成的图表属性完整读回为 dump→replay 的文档再生成流程charts-line.sh 末尾的officecli validate即是一环提供支撑。小结从本文可以看到OfficeCLI 把 Excel 折线图从点击式界面操作完整翻译成了可脚本化、可版本控制、可批量执行的命令行操作。数据输入有四种方式内联序列、单元格区域、dataRange、data 简写视觉定制覆盖线条、标记、坐标轴、网格线、标签、图例、特效与折线专属元素八个维度且支持创建后通过axis[role...]子元素路径继续精修。若需要更完整的图表能力参考可继续阅读 charts.md 与其他系列示例柱状图 charts-column.md、面积图 charts-area.md、组合图 charts-combo.md 等或在本地运行officecli query charts-line.xlsx chart直接观察生成结果。【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源仅包含一个二进制文件无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →