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 CHANGED
@@ -492,19 +492,22 @@ const amplitudeLimits: WaveformAmplitudeLimits = {
492
492
 
493
493
  ### Y 轴自动等分
494
494
 
495
- Y 轴默认显示 5 个主刻度(包含上下端点),并使用类似 ECharts 的 `1 / 2 / 5 × 10ⁿ` 漂亮
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
- 落在 Y 轴上下端点的刻度只显示数值,不显示刻度短线;中间刻度、网格和波形坐标保持不变。
503
+ Y 轴图框上边界的普通刻度标签隐藏;开启最大值刻度展示时,边界上的最大值标签仍显示。
504
+ 下边界标签仍垂直居中对齐图框底边。
505
+ 上下端点的普通刻度不显示短线;开启最大值刻度展示时,上边界的最大值短线仍显示。
506
+ 中间刻度、网格和波形坐标保持不变。
507
+ 科学计数法倍率与单位随最高的可见标签显示,图框内部的原始极值标记仍保留。
505
508
  尺寸或坐标范围变化后,每根 Y 轴仍保持该对齐方式,左右侧 Y 轴均适用。
506
509
 
507
- 默认会将 Y 轴范围扩展为便于读取的等距刻度。传入 `nice: false` 可保持数据自动范围或
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
- `compact` 多道紧密模式仅在最高刻度标签与最低刻度标签重叠时隐藏最高标签,
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: false,
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 在添加留白后执行,可能进一步扩域,关闭留白不等于关闭 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` 分别控制原始最大值、最小值的