2026/10/13 8:44:12

ppt-master 数据图表创作规范:executor-chart 分支的价值驱动几何、Plot-area 标记与 verify-charts 坐标校验

ppt-master 数据图表创作规范:executor-chart 分支的价值驱动几何、Plot-area 标记与 verify-charts 坐标校验 AI 技能人工智能【免费下载链接】ppt-masterAI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 · 何雨果出品项目地址https://gitcode.com/hugohe3/ppt-master点击查看免费下载导读本文深入剖析 ppt-master 的Executor Chart Branchskills/ppt-master/references/executor-chart.md讲解在 SVG 页面中由数据决定几何的图表创作全流程从触发判定、价值驱动几何的硬性规则到每个已验证图表对象必须携带的对象作用域chart-plot-area标记再到生成后由verify-charts阶段结合svg_position_calculator.py完成的坐标校准交接。读完本文你将掌握如何在 ppt-master 项目中绘制柱状图、饼图、雷达图、甘特图等 33 类图表并理解数据如何从源值一步步变成可被 PowerPoint 原生图表替换的精确 SVG 坐标。一、Chart 分支在 Executor 路由体系中的定位在 ppt-master 的生成架构中每个页面由 Executor 依据蓝图在 SVG 画布上直接绘制。当页面的几何由数值驱动时路由会加载 executor-chart.mdChart 分支Default 生成流程会同时加载 executor-base.mdExecutor 平面与共享核心选定的 Chart 家族 SVG 参考经 executor-visualization.md 解析与适配而原生就绪度与元数据则完全归属 native-data-interface.md。1.1 触发条件source values 决定可见几何Chart 分支是条件性权威模块其触发判据非常明确——源值决定可见几何柱长/柱高、点位置、扇形角度、多边形顶点、连接器或流程宽度/路径、气泡中心与半径、时长位置、面积或其他定量视觉变量。即使没有目录catalog引用只要出现迷你图mini charts、迷你走势线sparklines、插图insets、小倍数图small multiples等值驱动几何同样触发本分支。1.2 信息模型路由与 Structure / Table 分支的边界触发判断必须基于对象的实际信息模型而非仅仅依据 Chart/Table 引用。一个目录家族引用只选择构建指南绝不意味着原生就绪度页面局部的定性几何也绝不暗示pptx_structure.mode: structured。分支边界如下表所示信息模型路由数值、日期或时长决定几何或其他视觉变量本分支executor-chart定性顺序、分组、包含、因果或命名区域决定拓扑executor-structure.md行表头与列表头共同定位每个单元格事实executor-table.md从源码结构看executor-base.md 的路由表将任意值驱动几何含 chart 家族引用、迷你图、sparkline、插图、小倍数明确映射到本分支且要求在任何页面的首行 SVG 输出之前、对整份名册一次性评估全部触发条件。二、价值驱动几何Value-driven Geometry数据拥有标记2.1 硬规则数据拥有标记数据拥有标记是本分支的第一条硬规则每个定量标记mark都必须从权威数值和一条显式的比例尺/编码推导而来。严禁目测位置、从目录预览中保留示例值、或为构图而篡改数据。判断标准是语义而非来源格式——当日期或时长决定了每个任务条的x与width时即便源是 PowerPoint 表格它也是甘特图而定性的阶段 × 泳道排布则属于executor-structure.md。2.2 五步构建顺序在同一文档 §1 中定义了严格的构造顺序必须依次完成解析数据域确定数据域、类别、单位、基线、比例尺以及任何半径/颜色/分箱bin映射建立绘图框架确立绘图区、坐标轴/网格或径向框架以及解码所需的图例由数值计算标记包括累计cumulative、派生derived或层级hierarchical几何补充标注层按页面契约添加数据标签、坐标轴/类别标签、注释、单位、来源注记与可见例外应用视觉样式在不改变编码的前提下套用项目排版、调色板、效果与容器处理。2.3 感知读取Perceptual Reading图表必须选择对同一数据歧义最小的呈现方式顺序当源或语义顺序承载意义时予以保留否则为页面的比较任务排序。从右到左的 deck 设置axes.category.reverse让类别按页面阅读方向排列标签 vs 图例可读时优先使用直接系列标签只有能实质降低查找成本时才保留图例、网格线与刻度面板一致性可比较的面板共享域、比例尺与类别顺序除非被披露的差异本身就是信息基线纪律幅度条形图与柱状图从零开始区间标记保留其权威域任何非零基线或轴断裂都必须显式且不得夸大。双轴图仅在两个系列共享完全相同的时/类别域、且单位与身份不混淆时才成立否则拆分视图。2.4 图表颜色与标注惯例文档给出了一套可直接落地的配色与注释参考单色深度方案比彩虹色更清爽——主系列使用完整主题色对比系列用同色相约 60% alpha基线用灰色虚线原生标记图表上为实线且更浅其系列不带虚线强调色只用于关键数据点正/警告/负趋势使用 deck 的绿/黄/红极性角色。数据标签直接放在柱端或点旁而不是图例中真正的拐点政策变化产品发布用文字注释行业均值或目标用灰色虚线比较基线同一图表内单位与精度保持一致需要出处时添加低调的源注记。2.5 对象完整性Per-object Completeness每个权威系列、类别、点、标签、单位、限定词、来源和比例尺提示都必须完整保留。对于object-keyyes的图表JSON 必须逐项镜像已绘制的 fallback图例标签逐字一致点级例外颜色写为point_colors坐标轴比例尺与plot_area取自绘图区标记可见数据标签或汇总数字写为data_labels或伴随文本实际标签/坐标轴/网格颜色照实记录宁可省略text_color等字段也不要猜测。当源无法确定必需的比例尺或派生值时在 Default 中把歧义上报回上游或在 Quick 中从显式源事实解决——绝不在绘制时捏造。2.6 与可视化分支的分工当存在chart/key主引用时executor-visualization.md 拥有解析与适配权但本分支仍拥有值到几何的计算权从零创作的图表遵循同一契约。偶然出现的微型可视化小趋势或小指标会被准确绘制但只有 Default §IX 或 Quick 的活动上下文决策将其提升为坐标校验对象后才进入 §2 标记与校验流程。三、Plot-area 标记对象作用域绘图区声明3.1 每个已验证图表对象必须携带的标记硬规则每个在 Default §IXVisualization中登记、或在 Quick 中被提升做坐标校验的图表对象都必须有一个页面局部的kebab-case对象键。作者必须用g idobject-key包裹整个对象在其绘图区组g idobject-key-chartArea内放置恰好一个标记标记位于坐标轴之后、第一个数据标记之前负载前缀为objectobject-key |。一个遗留的无作用域标记g idchartArea只有在页面恰好只有一个已验证图表对象时才被接受。直角坐标图表的 XML 结构示例原文档原文继承g idrevenue-trend g idrevenue-trend-chartArea !-- axes -- !-- chart-plot-area: objectrevenue-trend | x_min,y_min,x_max,y_max -- !-- data marks -- /g /g极坐标图表的标记形态饼图 / 环形图 / 雷达图!-- chart-plot-area: objectshare-pie | pie | center: cx,cy | radius: r -- !-- chart-plot-area: objectshare-donut | donut | center: cx,cy | outer-radius: r1 | inner-radius: r2 -- !-- chart-plot-area: objectcapability-radar | radar | center: cx,cy | radius: r --各取值的推导规则如下表值推导x_min/x_maxY 轴线的 X 或最左侧数据边界 / 最右侧轴端点或数据边界y_min/y_max最顶网格线或数据边界的 Y / X 轴线基线或底部数据边界cx, cy计入所有包含平移变换后的绝对中心r,r1,r2所绘径向几何的可见外/内半径3.2 模板与验证templates/charts/下受计算器支持的 SVG 携带同样的注释。例如 column_chart.svg 中绘图区标记写为!-- chart-plot-area: 140,150,1160,550 --第 57 行位于 Y 轴网格线、轴标签与 X/Y 轴之后、柱状数据bar-1等g之前——与 §3.1 规定的轴之后、数据标记之前完全一致。相反仅仅因为包含数字而含数值的定性结构或单元格网格表格不获得标记。缺失标记会触发校验阶段声明的 fallback并增加可避免的派生工作。3.3 创作时检查Authoring-time Check每页包含已验证图表后执行rg -n chart-plot-area project_path/svg_output/current_page.svg要求标记数量等于被提升的图表对象数且每个标记都位于其对象包裹层之下。Native 布局交接对于原生就绪native-ready的经典图表若其绘制的绘图矩形必须固定就把该绝对矩形复制进元数据plot_area若希望 PowerPoint 自动布局则省略。标记注释本身不影响导出其封闭 schema 位于 native-data-interface.md §2。ChartEx 特例waterfall、funnel、histogram、pareto、treemap、sunburst、box_whisker等 ChartEx 类型不接受axes、plot_area或data_labels数值只能以伴随文本的形式传递——每个绘制的数值标签对应一条notes[]条目无刻度标签——或改选经典类型。四、坐标校验交接verify-charts 阶段坐标校准是条件性的生成后阶段。当所有 SVG 页面存在后只要活动 profile 声明至少一页具有值驱动图表几何就运行 verify-charts.mdDefault枚举 Design Spec §IX含该阶段遗留的 §VII fallbackQuick将仍活动的页面决策与绘图区标记逐一交叉核对。初始草稿阶段不得运行svg_position_calculator.py该阶段校准的是已完成几何与声明绘图区之间的真实偏差修复后回到 profile 的检查器顺序。4.1 对象清单的权威来源活动 profile对象清单权威Default Generatedesign_spec.md §IX——每个Visualization条目声明值驱动 SVG 几何的语义对象键§VII 只解析选定的目录引用Quick Generate仍活动的语义对象键与页面决策与一次svg_output/搜索发现的每个chart-plot-area标记逐一交叉核对若清单为空输出verify-charts: active profile declares no>python3 skills/ppt-master/scripts/svg_position_calculator.py calc bar --data L1:V1,L2:V2 --area x_min,y_min,x_max,y_max --bar-width 120 --value-range0,axis_max # Native-ready 柱状/条形图传 --gap-width payload gap_width, default 150 代替 --bar-width让类别轴遵循 parity gate 检查的 PowerPoint 槽位模型 python3 skills/ppt-master/scripts/svg_position_calculator.py calc line --data x1:y1,x2:y2 --area x_min,y_min,x_max,y_max --y-range0,max # Native-ready 类别折线/面积图加 --slot-midpointsPowerPoint 将每个点居中于其类别槽位payload cross_between: between默认的边到边模型是散点/数值轴模型与 mid_category payload python3 skills/ppt-master/scripts/svg_position_calculator.py calc pie --data S1:V1,S2:V2 --center cx,cy --radius 200 [--inner-radius 120] --start-angle -90 python3 skills/ppt-master/scripts/svg_position_calculator.py calc radar --data D1:V1,D2:V2,D3:V3 --center cx,cy --radius 200 --max-value 100附带说明来自 svg-pipeline.md--gap-width 150表示相等类别槽位、bar width slot / (1 gap_width/100)面积图无独立模式用calc line得出顶边界后按M first_x,first_y ... L last_x,last_y L last_x,y_max L first_x,y_max Z闭合到底基线y_max。工具刻意不自动改写 SVG 文件——差异需手动从calc输出更新。4.4 逐对象校验五步法与尺度感知比较verify-charts §Step 2 对每个对象执行固定流程读取project_path/svg_output/page.svg定位g idobject-key及其绘图区标记多图页面绝不混用 scoped 与 unscoped 标记只读取该对象的数据系列与标签/数值元素读取每个轴基图表的刻度标签——水平条形读 X 轴标签垂直条形与折线类读 Y 轴标签。首末刻度值给出轴范围以--value-rangemin,max/--y-range…/--x-range…附加传入附加形式可保护负最小值雷达从最外环取--max-value。无刻度标签时省略范围让计算器自动归一化并在回执中标记scaleauto (no ticks)局部 vs 绝对g transformtranslate(cx, cy)内是相对坐标而计算器输出绝对坐标需单向一致地加/减 translate运行匹配命令。比较前必须确认每次调用都使用了 SVG 视觉声明的轴范围、绘图区、中心/半径、起始角或尺寸比例尺——calc bar的头部应显示Value scale: axis ticks (...)出现auto (max*1.1)意味着回到第 3 步。比例尺匹配后坐标仍真实不同则手工更新不用正则或批量替换。有符号条形图上计算器从轴最小值起算每根柱因此应比较x_min width与从零基线绘制的远边缘而非其X。4.5 逐对象回执门禁关闭的证据每行对应 Step 1 中的一个对象含其语义键回执条数必须等于清单长度原文档示例完整继承verify-charts: 03_market_share.svg | objectmarket-share | typebar | modedirect-calc | scale0-100 (from ticks) | calcran | svgupdated verify-charts: 11_share_split.svg | objectshare-split | typepie | modedirect-calc | scaleN/A | calcran | svgupdated | markeradded verify-charts: 14_revenue_mix.svg | objectrevenue-mix | typestacked-bar | modedecomposable-calc | scale0-200 (from ticks) | calcran×3 | svgupdated verify-charts: 18_market_bubbles.svg | objectmarket-bubbles | typebubble | modepartial-calc | xyran | radiusmanual (scale missing) | svgunchanged verify-charts: 23_quarterly_progress.svg | objectquarterly-progress | typeprogress | modeformula-verify | formula68/100×800544px | svgunchanged verify-charts: 19_flow.svg | objectflow | typesankey | modemanual-verify | link widths consistent with values | svgunchanged更新任一页面后按 profile 的检查器顺序继续Default 重跑svg_quality_checker.py project_path --canonical-authoring --stage final --jsonQuick 完成全部图表比较/修复后再回到其唯一 lockless 终检。Quick 不持久化这些回执行。4.6 复杂图表的 Verification Recipesdecomposable-calc 实操对无法一次直算的图表svg-pipeline.md 提供了逐类配方核心思想是把复杂几何约简为重复的calc调用以下为要点摘录供逐类型对照实操堆叠柱N 个堆叠系列跑 N 次calc bar每段高度作数据值并把--area的y_max下移该类别所有下段之和堆叠面积对累计 y 值跑 N 次calc line系列 1 原始、系列 2 s1s2……每条带闭合到前一条带的顶边而非y_max负段或非 100% 百分比堆叠归入manual-verify哑铃图两端是点而非柱端类别编号为0.5, 1.5, …, N-0.5配--y-range0,N每个端点系列各跑一次calc line输出坐标即端点圆的(cx, cy)帕累托降序值跑calc bar预计算累计百分比后用0.5:cum1,…,N-0.5:cumN跑calc line右侧百分比轴作--y-range通常0,100n - 0.5偏移把每个点居中到其柱上双轴折线分别读取每个 Y 轴刻度范围每个系列用自己的--y-range和共享--x-range/--area各跑一次calc line绝不对右侧系列套用左侧比例尺子弹图每带一次calc bar --horizontal单数据点再为实际柱跑一次目标标记是x x_min target/axis_max × area_width处的line蝴蝶图读值域与中线cx左右两侧各跑一次calc bar --horizontal左条镜像为x cx - width分组柱组宽W、N 个系列时每系列柱宽W/N、偏移(i - 1) × W/Nx group_center - W/2 (i-1) × W/N箱线图把箱子 (Q3 − Q1) 当作合成段跑一次calc bary_max移到 Q1 基线中位数与须的 y 用y_axis_top (axis_max - value) × pixels_per_unit甘特图从表头刻度位置得pixels_per_unit对start_index:row_y与end_index:row_y各跑一次calc line两次输出的SVG_X即x与x width纯定性的阶段/泳道排布不是图表绝不进入校验瀑布图计算运行合计cum[i] cum[i-1] ± delta[i]用相同参数跑两次calc bar——top运行的Y是yheight bot.Y - top.Y气泡 / 绘制的 2×2 矩阵calc line验证cx/cymatrix_2x2的轴中点必须匹配象限分割半径仅在声明尺寸比例尺时验证radius sqrt(value) * k或 min/max 映射否则记录radiusmanual (scale missing)饼中饼 / 条中饼用聚合值替换展开尾部后calc pie主饼pie_of_pie在次中心/半径再跑一次calc piebar_of_pie按tail_value / sum(tail) × detail_height验证细节高度股票图共享价格轴上对开高低收各跑calc line影线跨high_y..low_y实体为min(open_y, close_y)..max(...)。公式验证formula-verify无 calc 调用直接引用公式与结果进度条fill_width value / max × track_width仪表needle_angle start_angle value / max × sweep_angle漏斗top_width prev.bottom_width、bottom_width top_width × next_value / curr_value旭日图弧长node_value / root_total × 2πr。人工验证manual-verify桑基图检查链接宽度与流量成比例、节点入出平衡热力图检查每个单元格颜色落入其值对应分箱且极值使用图例高低色矩形树图验证width × height ≈ total_area × value / sum(values)词云检查字号与声明权重/分箱单调并检查重叠裁剪。五、贯穿全链路的仓库佐证5.1 从目录模板到校验模式的完整闭环规划侧由 chart-vocabulary.md 提供 33 个 canonical Chart 引用的完整映射按随时间变化 / 类别比较与排名 / 目标与进度 / 分布与多变量关系 / 部分与整体及层级 / 流程、排程与加权文本六类组织选择后保留精确的chart/key标识符。校验侧则由charts_index.json的 key 逐一匹配到 verify-charts.md §Step 1 的校验模式表——两个清单在仓库中被刻意设计为恰好覆盖一次保证从规划到校验不遗漏、不重复。5.2 计算器源码佐证从 svg_position_calculator.py 的源码结构可以推断其 CLI 的完整能力面analyze检查现有 SVG 几何输出 rect/circle/polyline/path 统计、interactive六种图表类型的交互式计算、from-json从 JSON 配置读取计算、以及calc bar|pie|line|radar|grid快速计算。SVGPositionValidator.validate_content提供对 SVG 内容的坐标回验默认容差 1.0px_NonFiniteNumberError与_validate_finite_json则从入口拒绝 NaN/Infinity 进入任何坐标计算。5.3 测试与回归佐证仓库测试中对chart-plot-area标记的存在性做了回归保护test_dogfood_leaves_fixes.py中通过self.SVG.replace(rect , !-- chart-plot-area --rect , 1)模拟仅含注释标记的场景参与质量门禁验证test_dogfood_leaves_fixes.py佐证注释本身不影响导出、但必须作为创作契约存在的语义。此外routing.md 将存在数据图表明确路由到 Runverify-chartsbefore exportgenerate-pptx.md 在 Step 7 之前强制插入该阶段Chart pages? Run verify-charts before Step 7 to calibrate coordinates; skip without chart pages.。六、最佳实践小结先判定信息模型再选图表值驱动 → Chart 分支定性拓扑 → Structure单元格事实 → Table绘制前先建绘图框架再算标记严格按 §2.2 的五步顺序绝不目测坐标每个已验证对象一个 scoped 标记g idobject-keyg idobject-key-chartArea内、轴后数据前恰一个chart-plot-area创作时即检查rg -n chart-plot-area project_path/svg_output/current_page.svg标记数等于提升对象数生成后再校验初稿不跑svg_position_calculator.py所有页面完成后按 profile 权威清单逐对象比对手工修复真实偏差并输出等长的逐对象回执。赞分享AI 技能人工智能【免费下载链接】ppt-masterAI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 · 何雨果出品项目地址https://gitcode.com/hugohe3/ppt-master点击查看免费下载相关推荐PPT Master 图表执行器Executor Chart Branch实战指南值驱动几何、绘图区标记与坐标校验全流程PPT Master 图表执行器Executor Chart Branch实战指南值驱动几何、绘图区标记与坐标校验全流程 本文以 ppt master 技AI 技能人工智能AI 应用ppt-master Web 图片来源署名执行契约executor-web-image 分支与 SVG 内联 Attribution 校验ppt master Web 图片来源署名执行契约executor web image 分支与 SVG 内联 Attribution 校验 导读 本文讲解 pAI 技能人工智能fireworks-tech-graph 图表布局与 SVG 创作参考从图表类型、形状语义到几何校验的完整规范fireworks tech graph 图表布局与 SVG 创作参考从图表类型、形状语义到几何校验的完整规范 导读 本文基于 fireworks tech桌面应用AI 应用上一篇Galaxy UI组件库3000开源组件完整入门指南下一篇3步配好参数联动JimuReport让数据筛选快10倍创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考