waveform-analysis 0.1.37 → 0.1.39

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.
package/README.md CHANGED
@@ -96,37 +96,37 @@ const data = ref<WaveformData>({
96
96
 
97
97
  ### Props
98
98
 
99
- | Prop | 类型 | 默认值 | 说明 |
100
- | --------------------------------- | ------------------------------------------- | ------------------------------------------------------- | ---------------------------------- |
101
- | `data` | `WaveformData` | 必填 | 波形数据 |
102
- | `displayMode` | `'independent' \| 'separated' \| 'compact'` | `'independent'` | 图框布局 |
103
- | `overlayMode` | `'single-axis' \| 'multi-axis'` | `'single-axis'` | 叠加曲线的 Y 轴模式 |
104
- | `timeUnit` | `'s' \| 'ms'` | `'ms'` | 坐标轴和 tooltip 展示单位 |
105
- | `xLabel` / `yLabel` | `string` | `时间(timeUnit)` / `'幅值'` | 坐标轴名称 |
106
- | `lineColor` | `string` | `'#0960bd'` | 单波形默认颜色 |
107
- | `width` / `height` | `number` | 自适应 | 组件总尺寸,单位为 CSS 像素 |
108
- | `zoomable` / `showTooltip` | `boolean` | `true` / `true` | 缩放和数值 tooltip 开关 |
109
- | `pannable` | `boolean` | `false` | 空格拖拽平移开关 |
110
- | `minZoomSpan` | `number` | 未设置 | 最小缩放跨度,使用原始 X 数据单位 |
111
- | `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
99
+ | Prop | 类型 | 默认值 | 说明 |
100
+ | --------------------------------- | ------------------------------------------- | ------------------------------------------------------- | --------------------------------------------- |
101
+ | `data` | `WaveformData` | 必填 | 波形数据 |
102
+ | `displayMode` | `'independent' \| 'separated' \| 'compact'` | `'independent'` | 图框布局 |
103
+ | `overlayMode` | `'single-axis' \| 'multi-axis'` | `'single-axis'` | 叠加曲线的 Y 轴模式 |
104
+ | `timeUnit` | `'s' \| 'ms'` | `'ms'` | 坐标轴和 tooltip 展示单位 |
105
+ | `xLabel` / `yLabel` | `string` | `时间(timeUnit)` / `'幅值'` | 坐标轴名称 |
106
+ | `lineColor` | `string` | `'#0960bd'` | 单波形默认颜色 |
107
+ | `width` / `height` | `number` | 自适应 | 组件总尺寸,单位为 CSS 像素 |
108
+ | `zoomable` / `showTooltip` | `boolean` | `true` / `true` | 缩放和数值 tooltip 开关 |
109
+ | `pannable` | `boolean` | `false` | 空格拖拽平移开关 |
110
+ | `minZoomSpan` | `number` | 未设置 | 最小缩放跨度,使用原始 X 数据单位 |
111
+ | `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
112
112
  | `initialXDomain` | `[number, number]` | 未设置 | 所有图框的初始 X 范围(可超出数据,空白显示) |
113
113
  | `initialXDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置初始范围(可超出数据) |
114
- | `xDomainStrategy` | `WaveformXDomainStrategy` | `{ type: 'data' }` | 自动 X 轴视口范围策略 |
115
- | `yDomain` | `[number, number]` | 未设置 | 所有波形的固定 Y 轴范围 |
116
- | `yDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置固定范围 |
117
- | `grid` | `WaveformGridOptions` | `{ rowCount: 2, columnCount: 1, showPagination: true }` | 网格和分页 |
118
- | `axes` | `WaveformAxesOptions` | 轴线均显示 | X/Y 轴基线显隐与 X 轴 label 格式化 |
119
- | `rendering` | `WaveformRenderingOptions` | `{}` | 降采样与点/误差棒间距 |
120
- | `title` / `legend` / `frameStyle` | 对应公开类型 | 未设置 | 标题、图例和图框样式 |
121
- | `frameNumber` | `string \| number` | 未设置 | 图框水印内容 |
122
- | `zeroLine` | `WaveformZeroLineOptions` | `{ visible: false }` | 零值参考线显隐与样式 |
123
- | `cleanView` | `boolean` | `false` | 保留波形、图框和刻度的净图模式 |
124
- | `presentationMode` | `boolean` | `false` | 禁用绘图区交互的展示模式 |
125
- | `annotations` | `WaveformAnnotation[]` | `[]` | 受控标注数据 |
126
- | `annotationsVisible` | `boolean` | `true` | 标注图层显隐 |
127
- | `interactionMode` | `'zoom' \| 'annotation'` | `'zoom'` | 左键交互模式 |
128
- | `hiddenSeriesIds` | `string[]` | 未设置 | 受控隐藏系列 ID |
129
- | `defaultHiddenSeriesIds` | `string[]` | `[]` | 非受控模式的初始隐藏系列 |
114
+ | `xDomainStrategy` | `WaveformXDomainStrategy` | `{ type: 'data' }` | 自动 X 轴视口范围策略 |
115
+ | `yDomain` | `[number, number]` | 未设置 | 所有波形的固定 Y 轴范围 |
116
+ | `yDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置固定范围 |
117
+ | `grid` | `WaveformGridOptions` | `{ rowCount: 2, columnCount: 1, showPagination: true }` | 网格和分页 |
118
+ | `axes` | `WaveformAxesOptions` | 轴线均显示 | X/Y 轴基线显隐与 X 轴 label 格式化 |
119
+ | `rendering` | `WaveformRenderingOptions` | `{}` | 降采样与点/误差棒间距 |
120
+ | `title` / `legend` / `frameStyle` | 对应公开类型 | 未设置 | 标题、图例和图框样式 |
121
+ | `frameNumber` | `string \| number` | 未设置 | 图框水印内容 |
122
+ | `zeroLine` | `WaveformZeroLineOptions` | `{ visible: false }` | 零值参考线显隐与样式 |
123
+ | `cleanView` | `boolean` | `false` | 保留波形、图框和刻度的净图模式 |
124
+ | `presentationMode` | `boolean` | `false` | 禁用绘图区交互的展示模式 |
125
+ | `annotations` | `WaveformAnnotation[]` | `[]` | 受控标注数据 |
126
+ | `annotationsVisible` | `boolean` | `true` | 标注图层显隐 |
127
+ | `interactionMode` | `'zoom' \| 'annotation'` | `'zoom'` | 左键交互模式 |
128
+ | `hiddenSeriesIds` | `string[]` | 未设置 | 受控隐藏系列 ID |
129
+ | `defaultHiddenSeriesIds` | `string[]` | `[]` | 非受控模式的初始隐藏系列 |
130
130
 
131
131
  所有公开类型均可从包入口导入,例如 `WaveformData`、`WaveformSeries`、
132
132
  `WaveformAnnotation`、`WaveformLineStyle`、`WaveformRenderingOptions`、
@@ -253,6 +253,20 @@ X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平
253
253
  重置组件内部缩放并触发 `zoom-reset`;调用方应在事件中取消区间请求并恢复首次完整数据。
254
254
  外部重置按钮也可以通过模板引用调用组件公开的 `resetViewport()` 方法,然后执行相同的数据恢复逻辑。
255
255
 
256
+ 宿主在替换局部数据后如果需要恢复之前保存的 X 视口,可以调用公开的
257
+ `setViewportDomain(domain, trackIndex?)`。传入范围使用原始秒坐标,组件会按当前数据边界、
258
+ `xDomainStrategy`、`minZoomSpan` 和 `minVisiblePoints` 重新约束;无效范围会被忽略。共享
259
+ X 轴模式直接传入一个范围,独立模式可以按实际 `trackIndex` 分别设置(省略 `trackIndex`
260
+ 时应用到当前所有图框):
261
+
262
+ ```ts
263
+ chartRef.value?.setViewportDomain(previousDomain)
264
+ chartRef.value?.setViewportDomain(trackDomain, trackIndex)
265
+ ```
266
+
267
+ 建议在 `data` 引用更新后调用该方法。组件也会在数据引用变更时重投影当前内部视口,避免新
268
+ 数据边界使旧 transform 失效;`resetViewport(trackIndex?)` 的既有行为保持不变。
269
+
256
270
  没有显式配置初始范围时,可以通过 `xDomainStrategy` 将数据范围扩展为便于阅读的视口端点。
257
271
  默认的 `{ type: 'data' }` 保持数据最小值和最大值不变;`type: 'nice'` 使用固定刻度数量计算
258
272
  易读边界,且只扩展视口,不修改原始点位、tooltip、标注或缩放事件值:
@@ -415,7 +429,8 @@ Demo 左侧控制面板提供标题实时预览,可配置标题名称、显隐
415
429
 
416
430
  ### 图例与曲线显隐
417
431
 
418
- `legend.backgroundColor` 设置多曲线图例的背景颜色。该字段接受任意有效 CSS 颜色值,
432
+ 每个图框独立管理自己的图例:图框内有两条或更多曲线时显示图例,只有一条曲线时不显示。
433
+ `legend.backgroundColor` 设置图例的背景颜色。该字段接受任意有效 CSS 颜色值,
419
434
  可通过 `rgba(...)` 或 `hsla(...)` 中的 alpha 通道调整透明度:
420
435
 
421
436
  ```vue