waveform-analysis 0.1.72 → 0.1.73
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 +28 -10
- package/dist/index.cjs +2 -2
- package/dist/index.js +2933 -2849
- package/dist/style.css +1 -1
- package/dist/types/components/annotation/useWaveformChartAnnotations.d.ts +0 -1
- package/dist/types/components/core/layout.d.ts +2 -1
- package/dist/types/components/core/types.d.ts +2 -0
- package/dist/types/components/core/useWaveformChartController.d.ts +0 -1
- package/dist/types/components/core/useWaveformData.d.ts +1 -0
- package/dist/types/components/core/yAxisPadding.d.ts +1 -1
- package/dist/types/components/interaction/useExtremaTickViewport.d.ts +5 -0
- package/dist/types/components/rendering/WaveformTrackAxes.vue.d.ts +1 -0
- package/dist/types/data/sx2Channel.d.ts +10 -0
- package/dist/types/demo/types.d.ts +1 -0
- package/dist/types/types/chart.d.ts +2 -0
- package/package.json +1 -1
- package/src/App.vue +3 -0
- package/src/components/WaveformChartView.vue +0 -3
- package/src/components/annotation/useWaveformChartAnnotations.ts +7 -23
- package/src/components/controls/WaveformToolbar.vue +19 -20
- package/src/components/core/layout.ts +16 -4
- package/src/components/core/trackLayoutBuilder.ts +8 -1
- package/src/components/core/types.ts +2 -0
- package/src/components/core/useWaveformData.ts +2 -0
- package/src/components/core/useWaveformLayout.ts +8 -0
- package/src/components/core/yAxisLayoutMetrics.ts +1 -0
- package/src/components/core/yAxisPadding.ts +23 -8
- package/src/components/interaction/useExtremaTickViewport.ts +43 -0
- package/src/components/rendering/WaveformTrack.vue +1 -0
- package/src/components/rendering/WaveformTrackAxes.vue +18 -0
- package/src/components/rendering/yAxisTickVisibility.ts +77 -16
- package/src/data/simulatedWaveforms.ts +10 -0
- package/src/data/sx2Channel.ts +315 -0
- package/src/demo/DemoYAxisPaddingControls.vue +7 -0
- package/src/demo/types.ts +1 -0
- package/src/index.ts +1 -0
- package/src/types/chart.ts +2 -0
package/README.md
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
线上 Demo:[波形分析组件在线示例](https://lqycustomsite.online/waveform-analysis/)。
|
|
12
12
|
|
|
13
|
+
综合示例第 11 个图框展示实测电压通道 `SX2_7_01`(炮号 `13300`),保留全部 1,000 个
|
|
14
|
+
原始采样点。默认每页四个图框,在第 3 页查看;原始毫秒时间转换为秒坐标后传入组件。
|
|
15
|
+
|
|
13
16
|
## 特性
|
|
14
17
|
|
|
15
18
|
- Vue 3 Composition API + TypeScript,支持按需导入 `WaveformChart`
|
|
@@ -581,8 +584,11 @@ const series = {
|
|
|
581
584
|
`separated` 或 `compact` 控制图框布局和 X 轴共享方式;未共享 `trackId` 的单曲线
|
|
582
585
|
图框不会因为切换叠加方式而改变。
|
|
583
586
|
|
|
584
|
-
`compact`
|
|
585
|
-
|
|
587
|
+
`compact` 多道紧密模式仅在最高刻度标签与最低刻度标签重叠时隐藏最高标签,
|
|
588
|
+
优先保留最低标签;第一行以及其他没有冲突的最高标签正常显示。刻度线、网格、
|
|
589
|
+
数据范围和文字对齐位置不变,科学计数法倍率与单位随最高的可见标签显示。
|
|
590
|
+
上方留白区域内的原始最大值标记仍保留,并继续按标签碰撞规则处理。
|
|
591
|
+
其他布局模式不应用这项边界标签避碰规则。
|
|
586
592
|
|
|
587
593
|
### 绘图区域尺寸
|
|
588
594
|
|
|
@@ -844,8 +850,9 @@ Demo 左侧“网格与轴线”支持直接切换数值或固定时间格式。
|
|
|
844
850
|
是否显示毫秒。时间戳数据仍按组件的秒坐标契约传入,使用默认毫秒显示单位时 formatter 会收到
|
|
845
851
|
可直接传给 `Date` 的毫秒时间戳。
|
|
846
852
|
|
|
847
|
-
`interactionMode` 可选 `zoom`、`pan`、`annotation` 或 `none
|
|
848
|
-
|
|
853
|
+
`interactionMode` 可选 `zoom`、`pan`、`annotation` 或 `none`,默认使用缩放模式。在内置工具栏选择标注或设置
|
|
854
|
+
`interactionMode="annotation"` 后,左键单击绘图区可打开标注编辑器,右键不再触发新增标注。
|
|
855
|
+
`zoomable`、`pannable` 和 `showTooltip` 分别控制缩放、平移和 tooltip;平移默认关闭,
|
|
849
856
|
启用后在 `pan` 模式直接拖拽,`zoom` 模式按 Space 临时平移。传入模式 prop 时请接入更新回传,详见工具栏章节。
|
|
850
857
|
|
|
851
858
|
展示场景可启用 `presentationMode`,统一禁用绘图区的 tooltip、缩放、平移、双击复位和
|
|
@@ -974,7 +981,7 @@ const interactionMode = ref<WaveformInteractionMode>('zoom')
|
|
|
974
981
|
</template>
|
|
975
982
|
```
|
|
976
983
|
|
|
977
|
-
|
|
984
|
+
标注默认显示。标注模式下左键单击绘图区任意位置即可弹出居中编辑器,标注会吸附到当前 X 位置最近的真实采样点,右键已有标注可以编辑或删除。
|
|
978
985
|
标注框可以直接拖动进行手动避让,拖动只改变标签框位置,不会改变 `x/y` 数据锚点;偏移会以 `labelOffsetX/labelOffsetY` 像素字段保存在标注中。标注文本最多 40 个字符,边框色、文字色和背景色均支持取色与透明度调整。组件只负责内存中的受控数据,
|
|
979
986
|
业务层负责会话或后端持久化。
|
|
980
987
|
|
|
@@ -1266,7 +1273,7 @@ async function exportSvg(chart: WaveformChartHandle): Promise<Blob | undefined>
|
|
|
1266
1273
|
配置支持响应式更新,适用于单轴和多轴模式的左右 Y 轴名称,不影响刻度数字、图例或 X 轴文字。
|
|
1267
1274
|
字号参与名称与刻度之间的间距及图表边距计算;名称背景保持透明。
|
|
1268
1275
|
|
|
1269
|
-
### Y
|
|
1276
|
+
### Y 轴上下留白与极值刻度
|
|
1270
1277
|
|
|
1271
1278
|
组件统一计算自动 Y 范围留白,调用方无需修改数据或自行设置扩展后的 `yDomain`:
|
|
1272
1279
|
|
|
@@ -1292,8 +1299,19 @@ const axes: WaveformAxesOptions = {
|
|
|
1292
1299
|
nice 在添加留白后执行,可能进一步扩域,关闭留白不等于关闭 nice。
|
|
1293
1300
|
常量沿用非零范围回退后计算跨度;误差棒开启时包含其端点;单轴合并范围,多轴分别计算。
|
|
1294
1301
|
|
|
1295
|
-
|
|
1296
|
-
|
|
1302
|
+
`axes.y.extremaTicksVisible` 控制原始最大值、最小值的额外刻度线和标签,默认 `true`。
|
|
1303
|
+
该开关与上下留白独立,关闭留白后仍显示域内的最值;设为 `false` 可隐藏额外最值刻度。
|
|
1304
|
+
普通等距刻度不受开关影响,即使某个普通刻度恰好等于最值,也仍正常显示。
|
|
1305
|
+
支持响应式切换,不改变数据、Y 轴范围、缩放视口或 tooltip。
|
|
1306
|
+
|
|
1307
|
+
```vue
|
|
1308
|
+
<WaveformChart :axes="{ y: { extremaTicksVisible: false } }" />
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
常量标记仍为原始值且最大值、最小值合并为一个刻度,误差棒开启时极值包含其端点。
|
|
1312
|
+
相同值刻度合并;极值标签优先,隐藏距离不足 4px 的相邻普通标签;过近的普通短刻度及
|
|
1297
1313
|
关联水平网格线也会隐藏,图框边框始终保留。不会移动数值位置或为避让扩大范围。
|
|
1298
|
-
|
|
1299
|
-
|
|
1314
|
+
最小值与最大值标签重叠时优先保留最小值。手动视口或固定范围中仅显示域内的极值,
|
|
1315
|
+
不会为显示最值而扩展范围。同轴取可见系列的共同最值,多轴分别计算,使用完整原始数据。
|
|
1316
|
+
Demo 的“Y 轴留白”配置区默认显式启用上下各 10%,与组件省略配置时的默认值不同;
|
|
1317
|
+
“显示最值刻度”默认开启,可独立切换。
|