waveform-analysis 0.1.79 → 0.1.80
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 +25 -13
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/core/layout.d.ts +2 -0
- package/dist/types/components/core/yAxisTicks.d.ts +1 -1
- package/dist/types/types/chart.d.ts +4 -4
- package/package.json +1 -1
- package/src/components/core/layout.ts +25 -2
- package/src/components/core/trackLayoutBuilder.ts +5 -1
- package/src/components/core/yAxisLayoutMetrics.ts +1 -1
- package/src/components/core/yAxisPadding.ts +16 -1
- package/src/components/core/yAxisTicks.ts +6 -3
- package/src/components/interaction/WaveformTooltip.vue +1 -1
- package/src/components/interaction/stepZoom.ts +16 -4
- package/src/components/rendering/yAxisTickVisibility.ts +17 -7
- package/src/demo/DemoYAxisPaddingControls.vue +1 -1
- package/src/index.ts +1 -0
- package/src/types/chart.ts +4 -4
package/README.md
CHANGED
|
@@ -492,19 +492,22 @@ const amplitudeLimits: WaveformAmplitudeLimits = {
|
|
|
492
492
|
|
|
493
493
|
### Y 轴自动等分
|
|
494
494
|
|
|
495
|
-
Y
|
|
496
|
-
步长,保证主刻度之间数值等间距。可以通过 `axes.y.splitNumber`
|
|
497
|
-
Y 轴会独立计算:
|
|
495
|
+
Y 轴默认以 5 个主刻度为目标,并使用类似 ECharts 的 `1 / 2 / 5 × 10ⁿ` 漂亮
|
|
496
|
+
步长,保证主刻度之间数值等间距。可以通过 `axes.y.splitNumber` 指定目标刻度数量;
|
|
497
|
+
显式留白或限幅时仅保留范围内的主刻度,边界不必是刻度。每条 Y 轴会独立计算:
|
|
498
498
|
|
|
499
499
|
```vue
|
|
500
500
|
<WaveformChart :data="chartData" :axes="{ y: { splitNumber: 5 } }" />
|
|
501
501
|
```
|
|
502
502
|
|
|
503
|
-
|
|
504
|
-
|
|
503
|
+
Y 轴图框上边界的普通刻度标签隐藏;开启最大值刻度展示时,边界上的最大值标签仍显示。
|
|
504
|
+
下边界标签仍垂直居中对齐图框底边。
|
|
505
|
+
上下端点的普通刻度不显示短线;开启最大值刻度展示时,上边界的最大值短线仍显示。
|
|
506
|
+
中间刻度、网格和波形坐标保持不变。
|
|
507
|
+
科学计数法倍率与单位随最高的可见标签显示,图框内部的原始极值标记仍保留。
|
|
505
508
|
尺寸或坐标范围变化后,每根 Y 轴仍保持该对齐方式,左右侧 Y 轴均适用。
|
|
506
509
|
|
|
507
|
-
|
|
510
|
+
默认会将未显式配置留白的 Y 轴边界扩展为便于读取的等距刻度。传入 `nice: false` 可保持数据自动范围或
|
|
508
511
|
`yDomain` / `yDomains` 的原始端点:
|
|
509
512
|
|
|
510
513
|
```vue
|
|
@@ -515,7 +518,7 @@ Y 轴会独立计算:
|
|
|
515
518
|
例如 `0.1` 使用 `[min, max + (max - min) * 0.1]`,下限不变。
|
|
516
519
|
单值轴按图框合并范围计算,多值轴按各轴对应曲线范围计算;固定范围及手动缩放的 Y
|
|
517
520
|
视口不增加留白。常量数据先沿用非零范围回退,再计算留白。设置 `nice: false`
|
|
518
|
-
|
|
521
|
+
可使用线性等分刻度;显式配置留白的边界在 nice 模式下也不会进一步扩展。
|
|
519
522
|
|
|
520
523
|
```vue
|
|
521
524
|
<WaveformChart :data="chartData" :axes="{ y: { nice: false, upperPaddingRatio: 0.1 } }" />
|
|
@@ -697,6 +700,8 @@ X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平
|
|
|
697
700
|
则保留小数范围及小数标签、刻度,例如秒模式下 `1.2~1.8` 和 `1~1.4` 保留小数,
|
|
698
701
|
跨整数的 `1.8~2.2` 也保留原范围;负数采用相同规则。初始范围和重置范围也遵循此规则。
|
|
699
702
|
整数模式不额外限制最小跨度,配置的最小跨度、最大倍率和最少可见点数限制仍然生效。
|
|
703
|
+
滚轮或放大按钮若因向外取整而无法继续缩小,会改用满足相同约束的小数范围;例如
|
|
704
|
+
`1988~1991 ms` 可继续放大为 `1988.75~1990.25 ms`,不会因整数对齐提前禁用。
|
|
700
705
|
平移时保持当前跨度;小数视窗跨越整数边界时仍保留小数。记录边界和最小跨度约束优先。
|
|
701
706
|
动态切换此开关会重置视口;切换时间单位只更新显示,不改变当前原始范围。demo 默认开启此开关。
|
|
702
707
|
原始采样坐标不会被修改,缩放事件仍以秒返回实际对齐后的范围;自定义 formatter 不影响对齐粒度。
|
|
@@ -799,7 +804,8 @@ Tooltip 每个系列按 `炮号:通道 (x:值 y:值)` 格式显示。`Wavefor
|
|
|
799
804
|
下沿为 44px(更大的有效边距仍保留)。中间行刻度带不变,尾部空行无 X 轴时不补偿。
|
|
800
805
|
净图模式不应用刻度带补偿,保留现有刻度与网格布局。
|
|
801
806
|
最高和最低 Y 刻度(含科学指数和单位)与普通刻度保持相同的垂直居中方式,文字中心
|
|
802
|
-
|
|
807
|
+
对齐刻度位置;上边界普通标签隐藏,开启的最大值标签保留;下边界文字中心对齐图框底边,
|
|
808
|
+
不额外向图框内偏移。
|
|
803
809
|
建议设置 `plotMargin.top` 至少为 10px,避免顶部文字被 SVG 裁剪;
|
|
804
810
|
`top=0` 仍按传入值布局,但顶部标签可能显示不完整。
|
|
805
811
|
紧凑模式的图框边框路径向内缩半个实际 `frameStyle.borderWidth`,四边使用同一描边
|
|
@@ -929,11 +935,11 @@ const series = {
|
|
|
929
935
|
`separated` 或 `compact` 控制图框布局和 X 轴共享方式;未共享 `trackId` 的单曲线
|
|
930
936
|
图框不会因为切换叠加方式而改变。
|
|
931
937
|
|
|
932
|
-
|
|
933
|
-
|
|
938
|
+
所有布局模式均隐藏图框上边界的普通 Y 轴标签;开启最大值刻度展示时保留最大值标签及短线。`compact` 多道紧密模式还会在最高可见
|
|
939
|
+
刻度标签与最低刻度标签重叠时隐藏最高标签,优先保留最低标签。刻度线、网格、
|
|
934
940
|
数据范围和文字对齐位置不变,科学计数法倍率与单位随最高的可见标签显示。
|
|
935
941
|
上方留白区域内的原始最大值标记仍保留,并继续按标签碰撞规则处理。
|
|
936
|
-
|
|
942
|
+
其他布局模式不应用额外的标签避碰规则。
|
|
937
943
|
|
|
938
944
|
### 绘图区域尺寸
|
|
939
945
|
|
|
@@ -1640,7 +1646,7 @@ async function exportSvg(chart: WaveformChartHandle): Promise<Blob | undefined>
|
|
|
1640
1646
|
const axes: WaveformAxesOptions = {
|
|
1641
1647
|
y: {
|
|
1642
1648
|
lineVisible: false,
|
|
1643
|
-
nice:
|
|
1649
|
+
nice: true,
|
|
1644
1650
|
upperPaddingEnabled: true,
|
|
1645
1651
|
lowerPaddingEnabled: true,
|
|
1646
1652
|
upperPaddingRatio: 0.1,
|
|
@@ -1655,7 +1661,13 @@ const axes: WaveformAxesOptions = {
|
|
|
1655
1661
|
全部省略则不增加留白;零、负数或非有限比例不生效。关闭开关不清除配置比例。
|
|
1656
1662
|
|
|
1657
1663
|
固定 `yDomain` / `yDomains` 和手动 Y 视口不添加比例留白;重置或适应数据后恢复自动规则。
|
|
1658
|
-
nice
|
|
1664
|
+
显式配置某侧开关或比例后,该侧边界严格按留白结果确定,nice 不再扩展该侧。
|
|
1665
|
+
比例为 `0` 或开关为 `false` 时,该侧贴近数据极值;负数或非有限比例按零留白处理。
|
|
1666
|
+
未配置侧仍沿用 nice 扩域,全部未配置时行为保持兼容。主刻度继续使用
|
|
1667
|
+
`1 / 2 / 5 × 10ⁿ` 漂亮步长,仅显示最终范围内的刻度;边界不必是主刻度,实际数量可能减少。
|
|
1668
|
+
例如 `[-73, 86]` 上下各 10% 的图框范围严格为 `[-88.9, 101.9]`。
|
|
1669
|
+
这改变了旧版显式留白后仍会被 nice 进一步扩域的行为。限幅配置侧优先于比例留白,
|
|
1670
|
+
未限幅侧仍应用上述规则;手动视口不重复添加留白,显式留白模式下保留手动视口边界。
|
|
1659
1671
|
常量沿用非零范围回退后计算跨度;误差棒开启时包含其端点;单轴合并范围,多轴分别计算。
|
|
1660
1672
|
|
|
1661
1673
|
`axes.y.maximumTickVisible` 和 `axes.y.minimumTickVisible` 分别控制原始最大值、最小值的
|