-
Notifications
You must be signed in to change notification settings - Fork 2
EU Chart_CN
EU 走势图是网络信息屏标签页 1 的核心功能,用于可视化无线电网能量趋势。通过双 Y 轴图表同时展示电网能量存量与 EU/t 变化速率,支持 8 个时间窗口切换查看不同时间跨度的趋势。
- 位于网络信息屏标签页 1(默认标签页)
- 双 Y 轴显示:左轴=电网能量,右轴=EU/t 变化率
- 支持 8 时间窗口:5 分钟 / 1 小时 / 8 小时 / 24 小时 / 7 天 / 1 月(28 天)/ 3 月(84 天)/ 1 年(336 天)
- 简报区显示当前能量、平均 EU/t、实时 EU/t 与电网状态,默认科学计数显示
- 采用 Fritsch-Carlson 单调三次 Hermite 样条曲线 平滑渲染
**模块关系:**EU 走势图是网络信息屏的标签页 1 功能。网络信息屏的方块合成、拓展屏拼接、多屏共享等通用机制详见 03 网络信息屏与拓展屏。
EU 走势图采用双 Y 轴设计,同时展示两类数据:
| 轴 | 数据 | 颜色 | 说明 |
|---|---|---|---|
| 左轴 | 电网能量(Energy) | 蓝色 | 无线电网当前能量存量 |
| 右轴 | EU/t 变化率(Rate) | 橙色 | 每 tick 能量变化速率,反映充放电趋势 |
**设计说明:**EU/t 变化率线颜色(橙色)与 AE 走势图的变化率线颜色保持一致,便于玩家在不同标签页间形成统一的颜色认知。
EU 走势图支持 8 个时间窗口,每个窗口均为 61 点 FIFO:
| 窗口 | 样品点数 | 采样间隔 | 总时长 | 说明 |
|---|---|---|---|---|
| 5 分钟 | 61 | 100 ticks(5 秒) | 300 秒 | 原始采样 |
| 1 小时 | 61 | 1200 ticks(60 秒) | 3600 秒 | 由 5m 均值流入 |
| 8 小时 | 61 | 9600 ticks(480 秒) | 28800 秒 | 由 1h 均值流入 |
| 24 小时 | 61 | 28800 ticks(1440 秒) | 86400 秒 | 由 8h 均值流入 |
| 7 天 | 61 | 201600 ticks(10080 秒) | 604800 秒 | 由 24h 均值流入 |
| 1 月(28 天) | 61 | 806400 ticks(40320 秒) | 2419200 秒 | 由 7d 均值流入 |
| 3 月(84 天) | 61 | 2419200 ticks(120960 秒) | 7257600 秒 | 由 1M 均值流入 |
| 1 年(336 天) | 61 | 9676800 ticks(483840 秒) | 29030400 秒 | 由 3M 均值流入 |
8 个时间窗口通过嵌套计数链触发,比例不固定,由相邻窗口的时长比自然推导:
- 5m → 1h: 每 12 个 5m 样本触发 1 个 1h 样本(3600s / 300s = 12)
- 1h → 8h: 每 8 个 1h 样本触发 1 个 8h 样本(28800s / 3600s = 8)
- 8h → 24h: 每 3 个 8h 样本触发 1 个 24h 样本(86400s / 28800s = 3)
- 24h → 7d: 每 7 个 24h 样本触发 1 个 7d 样本(604800s / 86400s = 7)
- 7d → 1M: 每 4 个 7d 样本触发 1 个 1M 样本(2419200s / 604800s = 4,1M=28d)
- 1M → 3M: 每 3 个 1M 样本触发 1 个 3M 样本(7257600s / 2419200s = 3,3M=84d)
- 3M → 1Y: 每 4 个 3M 样本触发 1 个 1Y 样本(29030400s / 7257600s = 4,1Y=336d≈11 个月)
计数链比例为 12 → 8 → 3 → 7 → 4 → 3 → 4(5m → 1h → 8h → 24h → 7d → 1M → 3M → 1Y)。
自然比例含义: 每个窗口的"流入触发点数"等于相邻两窗口的时长比,使数据从短窗口自然流入长窗口;比例不统一为单一数值,而是按时长比推导。所有窗口均为 61 点 FIFO,满了删除旧的,无需手动清理。平均/速率字段在流入时取均值,瞬时字段(eu/timeMs/tick)取瞬时值。
简报区显示以下关键数据:
| 数据项 | 计算方式 | 说明 |
|---|---|---|
| 当前能量 | 实时读取 | 无线电网当前能量存量 |
| 平均 EU/t | 首尾差值法 | 基于 61 点窗口首末两点差值计算(300s 窗口) |
| 实时 EU/t | 最近 2 点斜率 | 最近 2 个样本的瞬时变化速率 |
| 电网状态 | 四分支逻辑 | 计算中 / 静默 / 长期静默 / 正常(详见 09 电网状态计算机制) |
首尾差值法: 平均 EU/t = (末点能量 - 首点能量) / (末点 tick - 首点 tick),基于 61 点 FIFO 窗口计算,能平滑短期波动反映整体趋势。使用 BigDecimal 精确除法(6 位小数,HALF_UP),避免 BigInteger 转 double 的大数精度损失。
走势线采用 Fritsch-Carlson 单调三次 Hermite 样条:
-
算法:
monotoneCubicPath方法实现 Fritsch-Carlson 单调三次 Hermite 样条 - 单调性: 保持单调性、避免过冲
- 端点处理: 首尾导数自然,不做 [0,1] 硬截断
- 平滑度参数: 0-12
| smoothing 值 | 段数 | 说明 |
|---|---|---|
| 0 | 1 段 | 线性(无平滑) |
| 1-12 | smoothing × 2 + 2 段(4-26 段) | 平滑曲线,段数随平滑度增加 |
简报区支持 3 种显示模式:
| 模式值 | 名称 | 显示示例 |
|---|---|---|
| 0 | 常规计数 | 1,234,567 |
| 1 | 科学计数 | 1.23E6 |
| 2 | 千位计数 | 1.23K |
v1.5.17 起默认值为 1(科学计数)。 旧存档若已显式保存 displayMode,则按存档值;新建/未保存的屏幕默认科学计数。
千位模式细节: 主显示调用点采用 2 位小数(如 1.23K、999.00);坐标轴 Y 轴刻度标签保持无小数(如 1K),避免轴标签过长;负数格式统一为前缀负号(-1.23K)。科学计数模式下小值(< 10000.0)自动 fallback 为常规显示。
EU 走势图的所有配置项(含默认值与范围):
| 配置项 | 类型 / 默认值 | 范围 | 说明 |
|---|---|---|---|
| trackingWindow | int | 0-7 | 时间窗口(0=5m / 1=1h / 2=8h / 3=24h / 4=7d / 5=1M / 6=3M / 7=1Y) |
| trendLineSmoothing | int = 2 | 0-12 | 样条平滑度 |
| trendLineThickness | int = 3 | - | 走势线宽度(glLineWidth) |
| displayMode | int = 1 | 0-2 | 显示模式(0=常规 / 1=科学 / 2=千位),v1.5.17 起默认 1 |
| chartBorderThickness | int = 3 | 1-8 | 图表边框宽度 |
| chartBackgroundColor | String = "" | - | 图表背景色(空=不绘制背景填充) |
| screenBackgroundColor | String | - | 屏幕背景色(空=不绘制背景填充) |
| briefRatio | int = 28 | 10-80 | 简报字体比例(getBriefFontScale()=briefRatio/20.0) |
| showBriefEnergy | boolean | - | 简报能量开关 |
| showBriefStatus | boolean | - | 简报状态开关 |
| showChartEnergy | boolean | - | 图表能量曲线开关 |
| showChartStatus | boolean | - | 图表 EU/t 曲线开关 |
| energyAxisMin / Max | String | - | 能量 Y 轴范围(空=自动,含 10% padding) |
| eutAxisMin / Max | String | - | EU/t Y 轴范围(空=自动,含 10% padding) |
- 步骤 1: 合成网络信息屏并放置在世界中(合成详见 03 网络信息屏)
- 步骤 2: 右键打开 GUI,默认即显示 EU 走势图标签页(标签页 1)
- 步骤 3: 在 GUI 中切换 8 时间窗口(5m / 1h / 8h / 24h / 7d / 1M / 3M / 1Y)
- 步骤 4: 配置走势线平滑度、显示模式、Y 轴范围、颜色等参数
- 步骤 5: 查看双 Y 轴走势图与简报区数据,观察电网能量趋势与充放电状态
EU 走势图使用的颜色常量:
| 元素 | 颜色值 | 颜色 | 说明 |
|---|---|---|---|
| 能量线 | 0x1F6FFF | 蓝色 | 左轴能量走势线 |
| EU/t 线 | 0xFF7A18 | 橙色 | 右轴 EU/t 变化率走势线 |
| 坐标轴 | 0x4E5964 | 深灰 | 图表坐标轴线 |
| 刻度 | 0x6A7680 | 灰色 | 坐标轴刻度标签 |