Skip to content

图表

纯 SVG 零依赖图表组件,chart 自闭合。t 指定类型,d 喂数据,l 给标签,c 定制颜色,无需任何外部图表库即可渲染 20 种图形。所有示例左侧为 DSL、右侧为实时渲染,点「编辑」可即时改动。

支持类型:bar(柱状图)、line(折线图)、area(面积图)、pie(饼图)、donut(环形图)、rose(玫瑰图)、funnel(漏斗图)、radar(雷达图)、scatter(散点图)、bubble(气泡图)、heatmap(热力图)、histogram(直方图)、waterfall(瀑布图)、boxplot(箱线图)、treemap(矩形树图)、sankey(桑基图)、candlestick(K 线图)、progress(进度条)、gauge(仪表盘)、gantt(甘特图)。

属性输出顺序(流式渲染强约束)

输出 [chart] 时,属性必须按 类型 → 样式/布局 → 标签 → 数据 四段顺序排列(缺段跳过):

  1. t 类型(恒首)
  2. 样式/布局属性(影响渲染形态、与数据无关):ttorientstacksmoothareavalswhrangeanimxlylstatuszoneszccudectickssubbinsmodedeps
  3. l 标签(数据相关,但必须在数据之前——先建坐标轴/图例刻度,再画数据点)
  4. 数据载荷(最后):d / tasks / rows / nodes+flows / ms / v
tokui
[chart t:bar tt:日产量 orient:h vals w:800 h:600 l:"Mon,Tue,Wed,Thu,Fri" d:"10,24,18,30,22"]

原因:流式渲染时数据逐点增长,解析器吐出的半成品属性只含当前已累积的键。若样式属性(orient/stack/vals 等)写在 d 之后,预览阶段读不到 → 先按默认布局画,等 ] 闭合样式键到达才翻转(横向柱"末尾突然转向"的根因)。前置后,预览从头即最终形态,无翻转闪烁。严禁 d/tasks 写在 l 或任何样式属性之前

通用属性

所有图表类型共享下列属性,自闭合。

属性含义示例
t图表类型t:bar
d数据。单系列逗号分隔;多系列(柱/线/环)用 `分隔;散点/气泡坐标对用;` 分隔
l标签,逗号分隔l:"1月,2月,3月"
c自定义颜色序列,逗号分隔;支持 #hex / rgb() / var(--x)c:"#1677ff,#52c41a"
tt标题tt:月度销售
w / hSVG 宽/高(px,仅影响内部坐标系比例)w:480
v单值(环形图中心文字 / 进度条 / 仪表盘当前值)v:75
area折线图是否填充(布尔)area
vals柱/线是否显示数值标签(布尔)vals
stack堆叠(布尔,柱/线/面积/环形多系列)stack
smooth折线/面积平滑曲线(布尔)smooth
orient柱状图方向:h 横向(默认纵向)orient:h
xl / ylX / Y 轴单位名称xl:投入 yl:产出
range仪表盘扫掠角:180(默认)/ 270 / 360range:270
anim数值动画时长(ms,进度条/仪表盘,尊重无障碍偏好自动停)anim:1200

含逗号或竖线的属性值必须用双引号包裹,否则解析器会按分隔符切开。颜色缺省时使用 10 色内置色板。长 X 轴标签会自动 -35° 旋转避让;空数据自动显示「暂无数据」占位。

响应式尺寸:图表默认 width:100% 撑满容器,按类型限定最大宽高(max-width × max-height):柱/线/面积/散点/气泡/直方/瀑布/箱线 1400×600(横向柱 orient:h 高度上限 800)、K线 1400×600、甘特 1400×640、饼/环/雷达/玫瑰 600×600、仪表盘 600×400、漏斗 1000×600、热力/树图 1000×600、桑基 1000×600、进度条 780×120。超出上限等比缩放居中、不变形。w/h 只影响内部坐标系比例、不决定最终渲染大小——通常留空即可;横向柱类别多时可显式设 h(最大 800)。

柱状图 t:bar

分组柱状图,自闭合。d 多系列用 | 分隔,每系列一组柱;系列数大于 1 时底部自动生成图例。加 stack 堆叠、orient:h 横向。

属性含义示例
d数据,多系列用 `` 分隔
lX 轴标签,逗号分隔l:"Q1,Q2,Q3"
stack堆叠(布尔)stack
orienth 横向柱(长标签友好)orient:h
vals显示柱顶数值vals
1[chart t:bar tt:季度销售额(万元) l:"Q1,Q2,Q3,Q4" d:"120,190,300,250"]
加载 TokUI…
TokUI DSL · 左代码右渲染

多系列对比(自动图例):

1[chart t:bar tt:销售 vs 目标 c:"#1677ff,#faad14" vals l:"1月,2月,3月,4月,5月" d:"30,45,38,60,52|40,42,50,55,58"]
加载 TokUI…
TokUI DSL · 左代码右渲染

堆叠柱(多系列按列累加):

1[chart t:bar tt:成本结构(堆叠) stack c:"#1677ff,#52c41a,#faad14" l:"Q1,Q2,Q3,Q4" d:"60,70,80,90|30,35,40,45|10,15,20,25"]
加载 TokUI…
TokUI DSL · 左代码右渲染

横向柱(orient:h,适合长中文标签):

1[chart t:bar tt:各端 DAU(横向) orient:h c:"#1677ff" l:"iOS,Android,Web,小程序,PC" d:"320,580,450,280,150"]
加载 TokUI…
TokUI DSL · 左代码右渲染

横向柱(orient:h)类别在 y 轴、高度随类别数线性增长(每类约 26px),渲染端 max-height 自动放宽到 800px(纵向柱 580px)。数据/类别多时(如 ≥15 项),可显式设 h 撑高画布,最大有效值 800(= 显示上限:设更大被截、设更小则柱挤),如 [chart t:bar orient:h h:800 l:"..." d:"..."];类别少无需设(按类别数自动)。纵向柱 h 一般不设。

折线图 t:line

折线趋势图,自闭合。加 area 开启半透明面积填充;smooth 平滑曲线;stack 堆叠(配合 area 为堆叠面积);多系列用 | 分隔。

属性含义示例
d数据,多系列用 `` 分隔
lX 轴标签,逗号分隔l:"周一,周二,周三"
area面积填充(布尔)area
smooth平滑曲线(布尔)smooth
stack堆叠(布尔)stack
vals显示节点数值vals
1[chart t:line tt:每日访问趋势 area l:"周一,周二,周三,周四,周五,周六,周日" d:"120,150,140,180,210,260,220"]
加载 TokUI…
TokUI DSL · 左代码右渲染

多系列折线对比 + 平滑曲线:

1[chart t:line tt:新老用户对比(平滑) smooth c:"#1677ff,#52c41a" l:"1月,2月,3月,4月,5月,6月" d:"80,120,160,200,240,300|40,60,90,120,150,200"]
加载 TokUI…
TokUI DSL · 左代码右渲染

面积图 t:area

面积图 = 折线图 + 默认填充,自闭合。支持多系列与 stack 堆叠面积(后系列轮廓叠在前系列上)。

属性含义示例
d数据,多系列用 `` 分隔
lX 轴标签l:"1月,2月,3月"
stack堆叠面积(布尔)stack
smooth平滑曲线(布尔)smooth
1[chart t:area tt:流量趋势 l:"1月,2月,3月,4月,5月,6月" d:"120,180,150,210,260,240"]
加载 TokUI…
TokUI DSL · 左代码右渲染

堆叠面积(多系列累积对比):

1[chart t:area tt:收入构成(堆叠面积) stack c:"#1677ff,#52c41a,#faad14" l:"Q1,Q2,Q3,Q4" d:"60,80,100,120|40,50,60,70|20,30,40,50"]
加载 TokUI…
TokUI DSL · 左代码右渲染

饼图 t:pie

占比饼图,自闭合。d 为各项数值,l 为各项名称;切片带引导线与百分比标注。

属性含义示例
d各项数值,逗号分隔d:"45,30,25"
l各项名称,逗号分隔l:"搜索,直接,推荐"
c各项颜色c:"#1677ff,#52c41a,#faad14"
1[chart t:pie tt:流量来源占比 l:"搜索引擎,直接访问,推荐链接,社交媒体" d:"45,25,15,15"]
加载 TokUI…
TokUI DSL · 左代码右渲染

环形图 t:donut

环形图,自闭合。结构与饼图一致,多了 v 属性可在圆心显示数字。多系列 d:"1,2|3,4" 渲染为同心多环(外→内)。

属性含义示例
d各项数值,逗号分隔;多环用 ``
l各项名称,逗号分隔l:"PC,移动,平板"
c各项颜色c:"#1677ff,#52c41a,#faad14"
v圆心文字(单环时)v:78
1[chart t:donut tt:目标完成率 l:"已完成,剩余" d:"78,22" v:78]
加载 TokUI…
TokUI DSL · 左代码右渲染

多环对比(本期 vs 上期,外环本期):

1[chart t:donut tt:本期 vs 上期 c:"#1677ff,#52c41a,#faad14,#f5222d" l:"A,B,C,D" d:"40,30,20,10|35,25,30,10"]
加载 TokUI…
TokUI DSL · 左代码右渲染

玫瑰图 t:rose

南丁格尔玫瑰图,自闭合。与饼图同角度均分,但切片半径与数值成正比(值越大花瓣越长),适合数值差异较大的占比对比。

属性含义示例
d各项数值,逗号分隔d:"30,25,20,25"
l各项名称,逗号分隔l:"春,夏,秋,冬"
c各项颜色c:"#1677ff,#52c41a,#faad14,#f5222d"
1[chart t:rose tt:四季销量(玫瑰图) c:"#52c41a,#faad14,#fa8c16,#1677ff" l:"春,夏,秋,冬" d:"320,580,450,280"]
加载 TokUI…
TokUI DSL · 左代码右渲染

漏斗图 t:funnel

转化/销售漏斗图,自闭合。自上而下逐层收窄的梯形堆叠,宽度与数值成正比,用于展示逐级递减的流程(电商下单、用户注册、招聘筛选)。建议数据降序排列(首层为漏斗口、数值最大);每层内自动标注名称与相对首层的转化率

属性含义示例
d各层数值,逗号分隔(建议降序)d:"12000,5400,2800,1600,920"
l各层名称,逗号分隔l:"曝光,点击,加购,下单,付款"
c各层颜色c:"#1677ff,#52c41a,#faad14"
1[chart t:funnel tt:电商销售漏斗 l:"曝光,点击,加购,下单,付款" d:"12000,5400,2800,1600,920"]
加载 TokUI…
TokUI DSL · 左代码右渲染

雷达图 t:radar

多维能力雷达,自闭合。l 为各维度名称,d 为对应分值(建议 0-100)。支持多系列d| 分隔)做多实体对比。

属性含义示例
d各维度数值,多系列用 `` 分隔
l各维度名称,逗号分隔l:"速度,质量,成本,体验,稳定"
c各系列填充色c:"#1677ff,#52c41a"
1[chart t:radar tt:综合能力评估 l:"速度,质量,成本,体验,稳定,创新" d:"80,90,70,85,75,88"]
加载 TokUI…
TokUI DSL · 左代码右渲染

多系列对比(产品 A vs 产品 B):

1[chart t:radar tt:产品能力对比 c:"#1677ff,#52c41a" l:"性能,体验,价格,生态,服务,创新" d:"85,90,70,80,75,88|70,75,90,85,88,72"]
加载 TokUI…
TokUI DSL · 左代码右渲染

散点图 t:scatter

二维散点图,自闭合。d分号 ; 分隔坐标对,每对 x,yxl/yl 可自定义坐标轴名称(缺省为 X/Y)。

属性含义示例
d坐标对列表,x,y 之间用 ; 分隔d:"1,2;3,5;6,4"
xlX 轴名称xl:投入
ylY 轴名称yl:产出
c点颜色序列c:"#1677ff"
xmin/xmax/ymin/ymax显式锁定坐标轴范围ymin:0 ymax:100

注意散点图与柱/线不同:坐标对之间用 ; 分隔,单个坐标内部用 ,

流式渲染防跳:容器模式逐点喂入时,X/Y 轴默认按数据自动伸缩(只扩不缩 + nice 量化),极值扩张瞬间已画点仍可能重排一次。若需绝对零跳,显式设 xmin/xmax/ymin/ymax 锁定坐标轴。

1[chart t:scatter tt:投入产出关系 xl:投入 yl:产出 d:"1,2;2,3.5;3,4;4,6.5;5,5.8;6,8;7,7.5;8,9.2;9,10"]
加载 TokUI…
TokUI DSL · 左代码右渲染

气泡图 t:bubble

三维气泡图,自闭合。散点图加第三维:d; 分隔点,每点 x,y,size,气泡半径与 size 成正比。支持 xmin/xmax/ymin/ymax 显式锁轴(同散点,流式渲染防已画点跳)。

属性含义示例
d点列表 x,y,size; 分隔d:"1,2,5;3,4,10"
xl / ylX / Y 轴名称xl:GDP yl:人口
sl第三维(size)名称(tooltip)sl:产值
xmin/xmax/ymin/ymax显式锁定坐标轴范围(流式防跳)ymin:0 ymax:100
1[chart t:bubble tt:城市经济气泡图 xl:GDP(万亿) yl:人口(百万) sl:产值 d:"1.2,8,300;2.5,15,800;3.8,24,1500;1.8,10,450;4.5,30,2200;2.0,12,600"]
加载 TokUI…
TokUI DSL · 左代码右渲染

热力图 t:heatmap

矩阵热力图,自闭合。rows 给网格数据(| 分隔行、, 分隔列),cols 列标签、l 行标签(cols 个数 = 每行值数、l 个数 = 行数 | 段数,须匹配否则错位);色阶按值在 min→max 间线性插值。支持容器模式流式(逐行喂 [hrow v:"v,v,v"] 子节点,hrow = heatmap 行,避让布局 row)。容器流式时,开标签即按 l×cols 画出单色骨架网格,hrow 逐行到达即染色;值域默认只扩不缩(防已填 cell 颜色跳),显式 vmin/vmax 可锁死。hrowv 值碎片化到达也逐 cell 填(不等完整标签)。

属性含义示例
rows网格数据,行用 `、列用 ,`
cols列标签,逗号分隔cols:"周一,周二,周三"
l行标签,逗号分隔l:"早,中,晚"
c色阶 stops(逗号分隔,低→高)c:"#bae0ff,#1677ff,#0958d9"
vmin/vmax显式锁定色阶值域(流式防已填 cell 颜色跳)vmin:0 vmax:100
1[chart t:heatmap tt:一周访问热力 cols:"周一,周二,周三,周四,周五,周六,周日" l:"早,中,晚" rows:"20,35,40,45,50,80,90|60,75,80,85,90,95,98|30,50,55,60,65,70,75"]
加载 TokUI…
TokUI DSL · 左代码右渲染

直方图 t:histogram

频次分布直方图,自闭合。d 给原始值序列,前端自动分箱(bins 指定箱数,缺省按 √n 估算),统计每箱频次后按柱状图渲染。流式所见即所得:l:"40-50,...,90-100" 范围段标签自动锁 lo/hi/bins(推荐,流式=全量);或显式 bins+min+max;缺省 bins 首帧定 + lo/hi 只扩不缩,极值扩张瞬间柱高跳一次bins 须 = l 段数。

属性含义示例
d原始数值序列,逗号分隔d:"1.2,3.4,5.1,..."
bins箱数,缺省自动;须 = l 段数bins:10
l箱标签;范围段 40-50,...,90-100 自动锁 lo/hi/bins(流式=全量)l:"40-50,...,90-100"
min/max显式锁定值域(流式零跳)min:0 max:100
ymax显式锁定频次上限(纵坐标零跳)ymax:30
1[chart t:histogram tt:考试成绩分布 bins:8 d:"56,62,68,71,73,75,78,80,82,84,85,87,88,90,91,92,94,95,96,98,72,76,83,89,77,81,86,93,79,88"]
加载 TokUI…
TokUI DSL · 左代码右渲染

瀑布图 t:waterfall

增减瀑布图,自闭合。d 为带正负号的增减序列,柱体浮动累计、正负双色(默认绿/红),相邻段间虚线连接,用于展示从初始值到最终值的逐步增减(财务损益、库存变动)。

属性含义示例
d增减值序列(可正可负),逗号分隔d:"100,-30,50,-15"
l各段标签l:"营收,成本,利润,税费"
c正/负色(前两个)c:"#52c41a,#f5222d"
1[chart t:waterfall tt:利润构成 c:"#52c41a,#f5222d" l:"营收,成本,毛利,费用,税费,净利" d:"100,-35,28,-12,-8,10"]
加载 TokUI…
TokUI DSL · 左代码右渲染

箱线图 t:boxplot

统计分布箱线图,自闭合。d; 分隔多组,每组五数 min,Q1,中位,Q3,max;展示分布中心、离散度与异常范围,多组并排便于横向对比。

属性含义示例
d五数列表,组间 ;、组内 ,d:"1,3,5,7,9;2,4,6,8,10"
l各组名称l:"A组,B组,C组"
1[chart t:boxplot tt:三组成绩分布 l:"甲班,乙班,丙班" d:"45,62,72,85,98|50,65,70,82,95|40,58,68,78,92"]
加载 TokUI…
TokUI DSL · 左代码右渲染

矩形树图 t:treemap

占比矩形树图,自闭合。d 格式 名称:数值 逗号分隔,按面积比例切分矩形(大块在先),块内显示名称、数值与占比,适合层级/分类占比的一屏全览。支持容器模式流式(逐项喂 [pt v:"名:值"] 子节点)。

属性含义示例
d名称:数值 列表,逗号分隔d:"A:100,B:60,C:40"
c配色序列c:"#1677ff,#52c41a,#faad14,#f5222d"
1[chart t:treemap tt:市场份额(树图) c:"#1677ff,#52c41a,#faad14,#f5222d,#722ed1" d:"iOS:320,Android:580,Web:450,小程序:280,其他:150"]
加载 TokUI…
TokUI DSL · 左代码右渲染

桑基图 t:sankey

流向桑基图,自闭合。nodes 列出节点,flows 给流向 源->目标:流量(多条逗号分隔),流量决定连接带宽度,适合展示资源/资金/用户的流转分布。支持容器模式流式(逐条喂 [flow v:"源->目标:流量"] 子节点,节点自动从 flow 提取,可省略 nodes)。flowv 碎片化到达也逐条填。

属性含义示例
nodes节点名称,逗号分隔nodes:"A,B,C"
flows流向 源->目标:流量,逗号分隔flows:"A->B:10,B->C:5"
c各流向配色c:"#1677ff,#52c41a"
1[chart t:sankey tt:用户路径流转 c:"#1677ff,#52c41a,#faad14,#f5222d,#722ed1,#13c2c2" nodes:"首页,搜索,详情,加购,下单,支付" flows:"首页->搜索:100,首页->详情:40,搜索->详情:70,详情->加购:60,加购->下单:45,下单->支付:38,详情->下单:15"]
加载 TokUI…
TokUI DSL · 左代码右渲染

K 线图 t:candlestick

OHLC 蜡烛图,自闭合。d; 分隔多根 K 线,每根 开盘,最高,最低,收盘;收盘≥开盘 为阳线(默认红)、反之为阴线(默认绿),含影线与实体,用于金融行情。遵循中国惯例红涨绿跌(阳线红=上涨、阴线绿=下跌)。

属性含义示例
dOHLC 列表,K 线间 ;、字段 ,d:"10,12,8,11;11,13,9,10"
l日期/时间标签l:"周一,周二,周三"
c阳/阴线色(前两个,阳红阴绿)c:"#f5222d,#52c41a"
1[chart t:candlestick tt:某股 8 日行情 l:"6/10,6/11,6/12,6/13,6/14,6/17,6/18,6/19" d:"10.2,10.8,9.8,10.5;10.5,11.2,10.3,11.0;11.0,11.5,10.7,10.9;10.9,11.3,10.6,11.1;11.1,11.6,10.9,11.4;11.4,11.7,11.0,11.2;11.2,11.4,10.8,10.9;10.9,11.3,10.7,11.2"]
加载 TokUI…
TokUI DSL · 左代码右渲染

进度条 t:progress

横向进度条,自闭合。轨道 + 填充 + 百分比文字,v 给当前值、max/min 定区间,anim 开启从 min 滚到 v 的动画。比仪表盘更轻量,适合 KPI/任务进度。

属性含义示例
v当前值v:65
max / min上/下限,默认 100 / 0max:100
u单位后缀;min:0 max:100 时自动 %u:个
l前缀标签l:已完成
c填充色c:"#1677ff"
anim动画时长(ms)anim:1000
1[chart t:progress tt:迭代进度 anim:1000 l:完成 v:68]
加载 TokUI…
TokUI DSL · 左代码右渲染

仪表盘 t:gauge

单值仪表盘 / KPI 速度表,自闭合。半圆轨道 + 数值弧 + 指针 + 中心大字 + 刻度,用于展示单个数值在区间内的位置(完成率、CPU 占用、时速、健康度、达标率)。数据用 v 给值,不用 d

属性含义示例
v当前值(必填)v:72
max / min上/下限,默认 100 / 0max:240 min:0
range扫掠角:180(默认)/ 270 / 360range:270
u单位后缀;留空且 min:0 max:100 时自动 %u:"km/h"
dec小数位;默认 span≤10 取 1 位否则 0dec:1
status语义染色并出角标:success(良好) / warning(注意) / danger(告警) / info(正常)status:danger
c自定义弧色(优先级低于 status/zonesc:"#1677ff"
zones阶段分布阈值,逗号分隔,把轨道分成多色带,弧色自动取值所在段色zones:"60,85"
zczones 段色覆盖(low→high);默认 绿,黄,红(安全→告警)zc:"#52c41a,#faad14,#f5222d"
anim数字 + 弧 + 指针动画时长(ms,从 min 滚到 v;尊重无障碍偏好自动停)anim:1200
ticks刻度密度,默认 6ticks:10
l指标名(中心数值下方)l:CPU 使用率
sub副标题(底部小字,多标题场景)sub:"数据来源: 监控系统"

颜色优先级:zones 命中段色 > status 语义色 > c 自定义 > 默认调色板。超界值自动 clamp 到 [min, max]

基础仪表盘(status 染色 + 副标题):

1[chart t:gauge tt:CPU 使用率 status:warning sub:"数据来源: 监控系统" l:8核均值 v:72]
加载 TokUI…
TokUI DSL · 左代码右渲染

带量纲的仪表盘(自定义 max 与单位):

1[chart t:gauge tt:当前时速 max:240 u:" km/h" status:success l:限速240 v:120]
加载 TokUI…
TokUI DSL · 左代码右渲染

阶段分布色带(达标率:阈值 60/85 分三段,刻度自动标阈值;弧色随值所在段变化)+ 数字动画:

1[chart t:gauge tt:达标率 zones:"60,85" anim:1200 sub:"红线 85%" l:Q2目标90% v:92]
加载 TokUI…
TokUI DSL · 左代码右渲染

反向配色(错误率:高值=差,段色红在高位;带小数):

1[chart t:gauge tt:错误率 zones:"3,8" zc:"#52c41a,#faad14,#f5222d" u:% dec:1 anim:1000 l:近1小时 v:3.4]
加载 TokUI…
TokUI DSL · 左代码右渲染

270° 仪表盘range:270 弧更完整):

1[chart t:gauge tt:健康度 range:270 status:success anim:1000 l:满分100 v:78]
加载 TokUI…
TokUI DSL · 左代码右渲染

多 KPI 并排看板(配合栅格):

1[row]
2 [col span:6]
3 [chart t:gauge tt:项目完成率 w:260 h:200 v:78]
4 [/col]
5 [col span:6]
6 [chart t:gauge tt:CPU 使用率 status:danger w:260 h:200 v:92]
7 [/col]
8[/row]
加载 TokUI…
TokUI DSL · 左代码右渲染

甘特图 t:gantt

项目排期甘特图,自闭合。任务条按行排布,支持进度填充、依赖箭头、里程碑、分组配色。mode 留空时自动判断(任务起始值含 -/ 视为日期)。

甘特图专属属性

属性含义示例
tasks任务列表。每条格式 名称,开始,结束[,进度[,组号]],多条用 `` 分隔
gnames分组名称,按组号映射图例文字,多条用 `分隔。tasks 中用了组号(第 5 字段)就必须同步给gnames`,否则图例显示占位符「组1/组2」
deps依赖关系(finish→start),格式 源索引->目标索引,多条用 , 分隔。索引对应 tasks 在列表中的顺序(从 0 开始)deps:"0->1,1->2"
ms里程碑。每条格式 名称,时间点[,组号],多条用 `` 分隔
mode时间模式:days(天数)/ dates(日期),留空自动判断mode:dates

时间值写法:天数用数字(1,3);日期用 2026-06-152026/6/15。日期模式下还会绘制「今天」参考线(落在时间范围内时)。

点击甘特图任意任务条,会高亮其依赖传递闭包(上游 + 下游 + 自身),便于追踪关键路径。

基础甘特图(天数模式)

mode:days,时间值纯数字代表第 N 天。

1[chart t:gantt tt:项目排期(天数) mode:days gnames:"需求|设计|开发|测试|部署" tasks:"需求分析,1,3|原型设计,3,6|开发实现,6,14,70|联调测试,14,18|上线部署,18,20"]
加载 TokUI…
TokUI DSL · 左代码右渲染

带依赖与里程碑的甘特图

deps源->目标 表示前序任务完成后才开始后续;ms 标记关键节点为菱形。

1[chart t:gantt tt:产品迭代(含依赖) deps:"0->1,1->2,2->3" mode:days gnames:"需求|设计|开发|测试" tasks:"需求,1,3,100,0|设计,3,6,100,1|开发,6,14,80,2|测试,14,18,0,3" ms:"评审,3|联调,14|发布,18"]
加载 TokUI…
TokUI DSL · 左代码右渲染

日期模式甘特图

mode:dates(或留空让解析器按 - 自动识别),时间用 YYYY-MM-DDYYYY/M/D,会绘制「今天」虚线。

1[chart t:gantt tt:2026 Q3 排期 deps:"0->1,1->2,2->3" mode:dates gnames:"调研|设计|开发|测试" tasks:"调研,2026-07-01,2026-07-10,100,0|设计,2026-07-08,2026-07-20,80,1|开发,2026-07-15,2026-08-25,40,2|测试,2026-08-20,2026-09-05,0,3"]
加载 TokUI…
TokUI DSL · 左代码右渲染

完整属性与甘特图字段说明见 DSL 语法参考 第 5.7 节;如该页未生成,可直接查阅仓库 demo/TOKUI_DSL_REFERENCE.md