XYPlot
SinksXYPlot 方块在相平面视图中绘制两个实时标量信号的相互关系曲线,并将可配置数量的最近采样点对保留为逐渐淡出的轨迹。该显示在每个仿真步长实时更新,非常适合观察极限环、相图以及动态轨迹的演变过程。
与 ScatterPlot 方块不同,XYPlot 专为动态实时监测而设计:仅显示最近的 trailLength 个采样点,因此图表始终强调当前系统的动态行为,而不是累积整个运行历史。
数学模型
输入与输出
| Direction | ID | Label | 类型 | Status |
|---|---|---|---|---|
| → In | x |
X | number | Required |
| → In | y |
Y | number | Required |
参数
| 参数 | Label | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
autoScale |
Auto Scale Axes | boolean | true |
|
xMin |
X Min | number | -1 |
|
xMax |
X Max | number | 1 |
|
yMin |
Y Min | number | -1 |
|
yMax |
Y Max | number | 1 |
|
showGrid |
Show Grid | boolean | true |
|
pointColor |
Point Color | string | #f97316 |
|
trailLength |
Max Points (0 = keep all) | number | 0 |
使用示例
范德波尔(Van der Pol)相图
VanDerPol.x → XYPlot.X
VanDerPol.xdot → XYPlot.Y
显示范德波尔振荡器的状态空间轨迹。在几个振荡周期之后,极限环清晰可见。
PID 误差与控制量对比
ErrorSignal → XYPlot.X
ControlOutput → XYPlot.Y
绘制误差与控制器输出的关系曲线,以实时检查饱和特性和控制律形态。
说明与最佳实践
- 接收端方块(Sink):XYPlot 没有输出端口。它是一个终端显示节点,不向任何下游计算提供数据。
- 双标量输入:X 和 Y 端口各自接收一个标量数值信号。向量信号在连接前必须先解复用(Demux)。
- 滑动窗口:仅显示最近的
trailLength个采样点。增加该值可查看更长的历史轨迹;减小该值可更聚焦于当前的瞬态动力学。 - 无时间轴:水平轴表示 X 信号的值,而非仿真时间。
相关模块
- ScatterPlot:累积整个运行过程中的所有采样点对;当需要完整的散点云而非近期轨迹时优先选用。
- uPlotDisplay:时间序列示波器,用于绘制信号随仿真时间变化的波形。
- Histogram:显示单个标量信号的统计分布。