waveform-analysis 0.1.65 → 0.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +146 -5
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +1326 -1118
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/WaveformChart.vue.d.ts +7 -2
  6. package/dist/types/components/core/constants.d.ts +2 -0
  7. package/dist/types/components/core/grid.d.ts +1 -1
  8. package/dist/types/components/core/layout.d.ts +2 -2
  9. package/dist/types/components/core/pagination.d.ts +2 -0
  10. package/dist/types/components/core/title.d.ts +2 -1
  11. package/dist/types/components/core/trackLayoutBuilder.d.ts +5 -0
  12. package/dist/types/components/core/types.d.ts +2 -1
  13. package/dist/types/components/core/useWaveformChartController.d.ts +9 -0
  14. package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
  15. package/dist/types/components/core/useWaveformPresentation.d.ts +3 -0
  16. package/dist/types/components/core/useWaveformYAxisLayout.d.ts +31 -0
  17. package/dist/types/components/core/waveformChartTypes.d.ts +11 -2
  18. package/dist/types/components/core/yAxisLayoutMetrics.d.ts +1 -1
  19. package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
  20. package/dist/types/components/data/types.d.ts +1 -1
  21. package/dist/types/components/interaction/integerZoom.d.ts +12 -0
  22. package/dist/types/components/interaction/interactionTarget.d.ts +1 -0
  23. package/dist/types/components/interaction/remoteViewport.d.ts +8 -0
  24. package/dist/types/components/interaction/useWaveformViewport.d.ts +1 -2
  25. package/dist/types/components/interaction/viewportDomain.d.ts +1 -1
  26. package/dist/types/components/interaction/viewportPan.d.ts +4 -0
  27. package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
  28. package/dist/types/components/rendering/WaveformLegend.vue.d.ts +2 -0
  29. package/dist/types/components/rendering/WaveformTrack.vue.d.ts +6 -6
  30. package/dist/types/components/rendering/WaveformTrackAxes.vue.d.ts +5 -1
  31. package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
  32. package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
  33. package/dist/types/data/recordedDampedWaveform.d.ts +1 -0
  34. package/dist/types/demo/types.d.ts +3 -0
  35. package/dist/types/index.d.ts +2 -1
  36. package/dist/types/types/chart.d.ts +17 -0
  37. package/dist/types/types/index.d.ts +1 -1
  38. package/package.json +1 -1
  39. package/src/App.vue +6 -0
  40. package/src/components/WaveformChart.css +5 -0
  41. package/src/components/WaveformChart.vue +3 -0
  42. package/src/components/WaveformChartView.vue +14 -3
  43. package/src/components/core/constants.ts +2 -0
  44. package/src/components/core/grid.ts +4 -1
  45. package/src/components/core/layout.ts +16 -2
  46. package/src/components/core/pagination.ts +17 -0
  47. package/src/components/core/title.ts +7 -3
  48. package/src/components/core/trackLayoutBuilder.ts +39 -59
  49. package/src/components/core/types.ts +2 -0
  50. package/src/components/core/useWaveformChartController.ts +17 -1
  51. package/src/components/core/useWaveformChartLifecycle.ts +11 -17
  52. package/src/components/core/useWaveformLayout.ts +67 -107
  53. package/src/components/core/useWaveformPresentation.ts +27 -3
  54. package/src/components/core/useWaveformYAxisLayout.ts +140 -0
  55. package/src/components/core/waveformChartTypes.ts +15 -0
  56. package/src/components/core/yAxisLayoutMetrics.ts +11 -2
  57. package/src/components/core/yAxisTitleLayout.ts +78 -0
  58. package/src/components/data/types.ts +3 -0
  59. package/src/components/interaction/integerZoom.ts +64 -0
  60. package/src/components/interaction/interactionTarget.ts +10 -0
  61. package/src/components/interaction/remoteViewport.ts +53 -0
  62. package/src/components/interaction/useWaveformViewport.ts +16 -58
  63. package/src/components/interaction/useWaveformZoom.ts +13 -11
  64. package/src/components/interaction/viewportDomain.ts +11 -3
  65. package/src/components/interaction/viewportPan.ts +82 -0
  66. package/src/components/interaction/zoomConstraints.ts +7 -5
  67. package/src/components/rendering/WaveformLegend.vue +10 -1
  68. package/src/components/rendering/WaveformTrack.vue +24 -6
  69. package/src/components/rendering/WaveformTrackAxes.vue +16 -5
  70. package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
  71. package/src/components/rendering/WaveformZeroLines.vue +53 -0
  72. package/src/data/recordedDampedWaveform.ts +3 -0
  73. package/src/data/simulatedWaveforms.ts +12 -10
  74. package/src/demo/DemoChartHost.vue +1 -0
  75. package/src/demo/DemoGridFrameControls.vue +12 -0
  76. package/src/demo/DemoViewControls.vue +4 -0
  77. package/src/demo/types.ts +3 -0
  78. package/src/index.ts +4 -0
  79. package/src/styles.css +3 -3
  80. package/src/types/chart.ts +20 -0
  81. package/src/types/index.ts +3 -0
package/README.md CHANGED
@@ -91,13 +91,17 @@ const data = ref<WaveformData>({
91
91
  | `data` | `WaveformData` | 必填 | 波形数据 |
92
92
  | `displayMode` | `'independent' \| 'separated' \| 'compact'` | `'independent'` | 图框布局 |
93
93
  | `overlayMode` | `'single-axis' \| 'multi-axis'` | `'single-axis'` | 叠加曲线的 Y 轴模式 |
94
+ | `layoutPreset` | `'default' \| 'edge-compact'` | `'default'` | 标题贴边、时间标签与响应式分页布局 |
95
+ | `unitDisplayMode` | `'axis' \| 'legend-single-series'` | `'axis'` | 可选的图表级单位展示规则 |
94
96
  | `timeUnit` | `'s' \| 'ms'` | `'ms'` | 坐标轴和 tooltip 展示单位 |
95
97
  | `xLabel` / `yLabel` | `string` | `时间(timeUnit)` / `'幅值'` | 坐标轴名称 |
96
98
  | `lineColor` | `string` | `'#0960bd'` | 单波形默认颜色 |
97
99
  | `width` / `height` | `number` | 自适应 | 组件总尺寸,单位为 CSS 像素 |
98
100
  | `zoomable` / `showTooltip` | `boolean` | `true` / `true` | 缩放和数值 tooltip 开关 |
99
101
  | `pannable` | `boolean` | `false` | 空格拖拽平移开关 |
102
+ | `panXDomain` | `[number, number]` | 未设置 | 远端横向平移边界,使用秒坐标 |
100
103
  | `minZoomSpan` | `number` | 未设置 | 最小缩放跨度,使用原始 X 数据单位 |
104
+ | `integerZoom` | `boolean` | `false` | 缩放范围按 X 轴显示单位对齐整数 |
101
105
  | `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
102
106
  | `maxZoomScale` | `number \| null` | 未设置 | 最大缩放倍数;`null` 表示不限制 |
103
107
  | `initialXDomain` | `[number, number]` | 未设置 | 所有图框的初始 X 范围(可超出数据,空白显示) |
@@ -266,6 +270,16 @@ Y 轴会独立计算:
266
270
  <WaveformChart :data="chartData" :axes="{ y: { nice: false } }" />
267
271
  ```
268
272
 
273
+ 自动 Y 轴范围可通过 `axes.y.upperPaddingRatio` 设置上限留白比例,默认 `0`。
274
+ 例如 `0.1` 使用 `[min, max + (max - min) * 0.1]`,下限不变。
275
+ 单值轴按图框合并范围计算,多值轴按各轴对应曲线范围计算;固定范围及手动缩放的 Y
276
+ 视口不增加留白。常量数据先沿用非零范围回退,再计算留白。设置 `nice: false`
277
+ 可避免刻度算法进一步扩展范围。
278
+
279
+ ```vue
280
+ <WaveformChart :data="chartData" :axes="{ y: { nice: false, upperPaddingRatio: 0.1 } }" />
281
+ ```
282
+
269
283
  ### 缩放后按可视区间加载数据
270
284
 
271
285
  组件支持 Plotly 风格的矩形框选缩放:在 zoom 模式下按住鼠标左键拖拽,松开后同时缩放
@@ -294,7 +308,32 @@ X/Y 轴;设置 `pannable` 后,指针位于图表内时按住空格键拖拽
294
308
 
295
309
  `zoom-end.gesture` 用于区分 `wheel` 和 `box`。单轨道 payload 使用 `yStart/yEnd`;共享
296
310
  X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平移不会触发 `zoom-end`,
297
- 因此不会自动发起新的区间加载请求。
311
+ 平移结束且 X 范围变化时触发 `pan-end`,可在此请求新的时间段。
312
+
313
+ 远端时间段平移可配置 `panXDomain` 为整条记录的起止时间。启用后,空格 + 拖动只改变 X
314
+ 范围,保持当前窗口宽度和 Y 轴;到达记录边界时停止。未配置或范围无效(非有限值、起点不小于
315
+ 终点)时保留原来的数据内 X/Y 平移行为。
316
+
317
+ ```vue
318
+ <WaveformChart
319
+ :data="waveformData"
320
+ :pan-x-domain="[recordStartSeconds, recordEndSeconds]"
321
+ pannable
322
+ @pan-end="loadTimeWindow"
323
+ />
324
+ ```
325
+
326
+ `pan-end` 的公开类型为 `WaveformPanEndPayload`,包含以秒表示的 `start/end`;独立模式还包含
327
+ `trackIndex/seriesIds`,业务页面据此只更新对应图框的数据,保留其他序列及稳定 ID。松开鼠标后
328
+ 按端点请求,用新的 `data` 引用回填;组件会保持当前 X 视口,包括返回点稀疏、缓存范围更大或
329
+ 当前视口与旧数据窗口等宽的情况。不要为每次请求修改 `initialXDomain`,它仍表示重置范围。
330
+ 加载期间超出已加载数据的区域显示空白,加载状态和错误提示由业务页面提供。
331
+
332
+ 配置远端边界时,滚轮、框选和 `setViewportDomain` 在记录范围内约束,最小缩放跨度及倍率
333
+ 仍基于初始数据域;未加载区间没有真实点数,因此不会用 `minVisiblePoints` 将目标窗口拉回
334
+ 已加载数据。回填时保留 X 范围,不重新应用点数约束。取消拖动或范围没有变化不会触发 `pan-end`。
335
+ 平移过程中用 `zoom-change` 使旧请求失效,完成后用 `pan-end` 发起请求;对缩放仍使用
336
+ `zoom-intent`。业务页面应使用请求序号或取消机制,避免旧响应覆盖更新的目标窗口。
298
337
 
299
338
  调用方应处理加载失败的情况(网络错误、超时等),并保持旧数据或显示加载状态。生产环境建议使用
300
339
  `AbortController` 取消过时的请求。
@@ -303,6 +342,15 @@ X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平
303
342
  `initialXDomains` 按 track ID 或 series ID 分别配置。`minZoomSpan` 使用原始 X 数据单位,
304
343
  可防止每次区间数据回填后重新累计放大。未配置任何缩放约束时保留既有的 40 倍兜底;设置
305
344
  `minVisiblePoints: 2` 可缩放到两个真实采样点,`maxZoomScale: null` 可显式关闭倍率上限。
345
+
346
+ 设置 `:integer-zoom="true"` 可开启整数缩放,默认关闭。开启后滚轮、框选和
347
+ `setViewportDomain` 的开始时间向下取整、结束时间向上取整;`timeUnit='ms'` 时对齐整毫秒,
348
+ `timeUnit='s'` 时对齐整秒,最小跨度为一个显示单位。初始范围和重置范围也向外对齐,
349
+ 不会裁掉边缘数据,最小跨度、最大倍率和最少可见点数限制仍然生效。
350
+ 默认 X 轴标签和主刻度也使用整数显示单位,平移时保持整数端点及当前跨度。
351
+ 动态切换此开关或在开启时切换时间单位会重置视口。
352
+ 原始采样坐标不会被修改,缩放事件仍以秒返回实际对齐后的范围;自定义 formatter 不影响对齐粒度。
353
+ 关闭时 `timeUnit` 仍只影响展示,不改变缩放范围。
306
354
  显式设置多种限制时采用最严格的一项。双击图框会
307
355
  重置组件内部缩放并触发 `zoom-reset`;调用方应在事件中取消区间请求并恢复首次完整数据。
308
356
  外部重置按钮也可以通过模板引用调用组件公开的 `resetViewport()` 方法,然后执行相同的数据恢复逻辑。
@@ -357,7 +405,81 @@ chartRef.value?.setViewportDomain(trackDomain, trackIndex)
357
405
  `timeUnit` 只控制坐标轴和 tooltip 的显示单位。
358
406
 
359
407
  Tooltip 每个系列按 `炮号:通道 (x:值 y:值)` 格式显示。`WaveformSeries.shotNo` 为空或未提供时,
360
- 炮号显示为“未配置炮号”;Tooltip 不显示单位和误差附加文本。
408
+ 炮号显示为“未配置炮号”;配置 `series.unit` 时在通道名后显示 `(单位)`,不显示误差附加文本。
409
+
410
+ ### 标题与时间标签贴边布局(可选)
411
+
412
+ ```vue
413
+ <WaveformChart
414
+ :data="waveformData"
415
+ layout-preset="edge-compact"
416
+ :title="{ text: 'shot: #1001', textStyle: { fontSize: 18, fontWeight: 700 } }"
417
+ x-label="Time(ms)"
418
+ :plot-margin="{ top: 0, bottom: 44 }"
419
+ />
420
+ ```
421
+
422
+ 公共类型 `WaveformLayoutPreset = 'default' | 'edge-compact'`,对应
423
+ `WaveformChartProps.layoutPreset`。默认 `'default'` 保持既有标题、时间标签、宽窄分页
424
+ 布局;可与 `unitDisplayMode='legend-single-series'` 一起使用。
425
+
426
+ `'edge-compact'` 下,标题区域使用实际测量的文字显示高度加 8px,顶部约 4px 留白,
427
+ 不再强制最少 44px。设置 `plotMargin.top=0` 时,标题底部距内部绘图上边框约 4px。
428
+ 无标题、空标题或 `title.visible=false` 时不预留标题区。
429
+ 标题字体仍由 `title.textStyle` 控制,保留长标题换行及旋转缩放(旋转标题区域上限
430
+ 仍为 160px)。测量完成前使用文字尺寸估计,不重复放大已经测量的多行高度。
431
+
432
+ 时间标签(`xLabel`,默认仍为 `时间(ms)` 或 `时间(s)`)单独使用 18px、字重 700,
433
+ 水平居中于绘图区,紧凑模式基线为 `drawingHeight - 9px`,比原位置下移 3px,
434
+ 增加与上方刻度区域的间隔;默认布局仍为 `drawingHeight - 12px`,不设置额外的
435
+ `dominant-baseline`。通过 `xLabel='Time(ms)'` 传入严格的业务文字,组件不自动改写。
436
+ 分页按钮可见时,宽度大于 520px 且右侧空间足够时仅预留 16px;结合已有的 44px 底部总预算,
437
+ 图框底边距卡片内容下沿共 60px,末尾 X 刻度与右下分页顶部约留 5px 安全间距。
438
+ 相较预留 40px,桌面图框向下延伸 24px;Time 仍居中使用 18px/700,其基线距内容
439
+ 下沿 25px,与右侧分页处于同一底部水平区域。窄图表(宽度小于等于 520px)保留
440
+ 40px 独立分页区,避免 Time 与按钮水平冲突。预留条件与按钮显隐一致:
441
+ `grid.showPagination && pageCount > 1 && !cleanView`。
442
+ 组件按最多 9 个页码/省略号及前后按钮、32px 按钮、8px 间距保守估算分页宽度,
443
+ 同时按绘图区中心和 18px 字体估算 Time 标签占位;中等宽度、多页或长标签导致右侧
444
+ 空间不足时自动预留 40px,无需新公共配置。
445
+ 没有分页或净图模式不预留按钮区。`cleanView` 仍隐藏时间标签及标题文字,保留既有标题区域策略。
446
+
447
+ 紧凑模式的 `plotMargin.bottom` 最小为 44px(传入 35px 会按 44px 布局),该总预算
448
+ 已包含最后一行的 30px X 轴刻度带,不再额外叠加;最下面的网格图框底边距绘制 SVG
449
+ 下沿为 44px(更大的有效边距仍保留)。中间行刻度带不变,尾部空行无 X 轴时不补偿。
450
+ 净图模式不应用刻度带补偿,保留现有刻度与网格布局。
451
+ 最高 Y 刻度(含科学指数和单位)在紧凑模式向图框内贴边,`top=0` 时有无标题均不会
452
+ 向 SVG 顶部越界;默认模式的刻度锚点不变。
453
+ 紧凑模式的图框边框路径向内缩半个实际 `frameStyle.borderWidth`,四边使用同一描边
454
+ 线宽,完整描边保持在原图框范围内;`top=0` 且没有标题时也无需额外顶部留白。
455
+ 外层卡片继续裁切溢出内容,默认布局的边框几何保持不变。
456
+ 刻度字号保持原值。`plotMargin` 不改变标签距底部的位置。该布局只影响展示尺寸,
457
+ 既有平移事件与范围、单位模式、tooltip 和 Y 轴上限留白 API 保持不变。
458
+
459
+ ### 客户图例单位规则(可选)
460
+
461
+ ```vue
462
+ <WaveformChart :data="waveformData" unit-display-mode="legend-single-series" />
463
+ ```
464
+
465
+ 公共类型 `WaveformUnitDisplayMode = 'axis' | 'legend-single-series'`,也可通过
466
+ `WaveformChartProps.unitDisplayMode` 配置。默认 `'axis'` 保持现有行为(单位在 Y 轴最高
467
+ 刻度中,单曲线图框不显示图例)。客户模式会为每个非空图框显示图例:
468
+
469
+ - 整个图表的所有非空 track 都只有一条曲线时,图例显示 `名称 (单位)`,例如
470
+ `CH1(1001) (V)`;单位去除两端空白,缺失、空白或占位值 `--` 不追加括号。
471
+ - 任一 track 包含多条曲线时,整个图表的图例只显示原始名称,所有 Y 轴也隐藏单位。
472
+ 判定依据是曲线数量,而非 Y 轴分组数量,同单位共用一根轴的多曲线图框同样适用。
473
+ - 判定使用分页前完整的 track 曲线列表,跨页一致;`grid.trackOrder` 的空图框和补齐
474
+ 槽位不参与判定;隐藏曲线仍计数,包括全部曲线隐藏的图框,切换可见性不会改变规则。
475
+ 替换 `data` 后重新判定。只有从数据中移除曲线才改变曲线数量。
476
+ - 客户模式始终隐藏轴单位,科学计数法 `E+04` 等仍保留在最高刻度(左侧 Y 轴顶端
477
+ 左侧;多 Y 轴各自保留倍率),刻度缩放和数值不变。多曲线规则不隐藏倍率。
478
+
479
+ 继续将真实单位写入 `series.unit`,名称写入 `series.name`(可已包含炮号)。组件只在
480
+ 展示层组合图例文字,不修改名称或单位;tooltip 仍使用原始名称和单位字段,例如
481
+ `CH1(1001)(V)`,标注元数据也保持原值。图例位置、排列、交互仍由 `legend` 控制,
482
+ `cleanView` 仍隐藏图例。`pan-end`、`panXDomain`、`axes.y.upperPaddingRatio` 不受影响。
361
483
 
362
484
  ### 纵轴单位
363
485
 
@@ -387,7 +509,15 @@ const chartData = {
387
509
  `(V) 3`。单位为空、全为空白或未配置时,不显示 `(单位)`,例如仍显示为 `E+03 3` 或 `3`。
388
510
  多 Y 轴模式下,每根轴使用该轴首个 series 的单位。
389
511
 
390
- 左侧通道名称使用 14px、字重 600 的加粗文字,按各道附近刻度文字自动计算间距,并使用同一列中相同轴位的最大间距,保证多道名称垂直对齐;左侧留白随刻度宽度调整,避免名称与刻度重叠。
512
+ 左侧通道名称使用 14px、字重 600 的加粗文字。默认布局按字符宽度估算旋转名称的垂直范围,
513
+ 仅对可能与名称相交的刻度文字(含文字高度和安全间距)自动计算间距;不相交的顶部单位
514
+ 刻度不会推远名称。同一列中相同轴位使用逐道计算的最大间距,保证多道名称垂直对齐。
515
+
516
+ `edge-compact` 统一按实际显示的 Y 刻度文字宽度、7px 刻度间距和 20px 名称带计算
517
+ 轴槽位、名称位置及左边距;隐藏的单位不参与宽度估算,科学计数法倍率仍计入。
518
+ 最外侧名称带左边保留 24px 外部留白,与单轴图框右侧的 24px 对齐,不再使用
519
+ 默认布局的固定 48px 最小左边距。多轴使用各轴位的最大刻度宽度,多列同时预留相邻
520
+ 图框的轴和名称带,避免名称、长刻度及相邻图框重叠。默认布局的留白策略保持兼容。
391
521
 
392
522
  ### 线型、点型与误差棒
393
523
 
@@ -564,8 +694,10 @@ const hiddenSeriesIds = ref<string[]>([])
564
694
  ### 零值参考线与净图
565
695
 
566
696
  `zeroLine` 用于绘制 `y = 0` 的水平参考线,默认显示红色(`#ff0000`)、1px 宽的虚线
567
- (`dash: '6 4'`)。参考线只在对应 Y 轴的当前 domain
568
- 包含 0 时渲染,不会为了显示参考线而扩展数据范围。多值轴模式下,每根可见 Y 轴分别按自身
697
+ (`dash: '6 4'`),透明度默认为 `0.5`。参考线只在对应 Y 轴的当前 domain
698
+ 严格跨过 0,且距两端均不小于一个主刻度间距的 2% 时渲染;零线位于边界时隐藏。
699
+ 不会为了显示参考线而扩展数据范围。零线绘制在曲线、点标记及误差棒上方。
700
+ 多值轴模式下,每根可见 Y 轴分别按自身
569
701
  scale 定位零线:
570
702
 
571
703
  ```vue
@@ -576,6 +708,8 @@ scale 定位零线:
576
708
  color: '#ff0000',
577
709
  width: 1,
578
710
  dash: '6 4',
711
+ opacity: 0.5,
712
+ boundaryThreshold: 0.02,
579
713
  }"
580
714
  />
581
715
  ```
@@ -586,6 +720,12 @@ scale 定位零线:
586
720
  只传入颜色或线型时仍默认显示,例如 `:zero-line="{ color: '#0960bd', dash: '' }"`
587
721
  显示蓝色实线。使用 `:zero-line="{ visible: false }"` 可关闭零线。颜色和线型配置可动态修改。
588
722
 
723
+ `boundaryThreshold` 可动态调整边界隐藏比例,例如 `0.05` 表示一个主刻度间距的 5%,
724
+ `0` 表示仅在恰好位于边界时隐藏;负数或非有限值回退到 `0.02`。
725
+ `opacity` 支持 `0` 到 `1`,越界或非有限值回退到 `0.5`。颜色本身的 Alpha 与该透明度相乘;
726
+ 若使用 `rgba()` 或八位十六进制颜色的透明度,可设置 `opacity: 1`。
727
+ 主演示页的“零值参考线”区域可直接调整透明度,修改后立即应用于波形图。
728
+
589
729
  设置 `cleanView` 后,组件保留波形、图框边框、X/Y 轴刻度及刻度值,并隐藏标题内容、图例、
590
730
  网格、轴标签、图框背景、帧水印、零值参考线、标注和分页器。原图的标题区域、边距和波形
591
731
  尺寸保持不变;缩放、悬浮、十字线和 tooltip 仍然可用,切换回普通模式后原有配置和标注
@@ -834,6 +974,7 @@ X 轴刻度和左右端点先按 `timeUnit` 转换为秒或毫秒,再显示为
834
974
  | `point-hover` | 当前最近点变化时触发,离开图表时传入 `null` |
835
975
  | `zoom-intent` | 真实滚轮或框选确定目标范围时同步触发,参数含端点和 `gesture` |
836
976
  | `zoom-change` | 缩放过程中触发,参数为 `[start, end]` |
977
+ | `pan-end` | 平移结束且范围变化时返回时间端点,独立模式附带轨道信息 |
837
978
  | `zoom-end` | 滚轮或框选结束后触发;`gesture` 区分二者,独立模式附带轨道信息 |
838
979
  | `zoom-reset` | 双击重置视口时触发;独立模式 payload 标识目标图框 |
839
980
  | `page-change` | 分页变化,参数为当前页和总页数 |