随着时间的推移可视化两个标量变量

机器算法验证 r 时间序列 数据可视化 ggplot2
2022-04-01 23:39:47

在一个可视化中显示两个标量变量 (x,y) 随时间 (z) 变化的最佳方式是什么?

我的一个想法是将 x 和 y 都绘制在垂直轴上,z 为水平轴。

注意:我将使用 R 并且可能使用 ggplot2

3个回答

另一个想法是将一个系列绘制为 x,将第二个系列绘制为 y——时间依赖性将被隐藏,但该图很好地显示了相关性。(然而,时间可以通过按时间顺序连接点在某种程度上显示;如果系列很短且连续,它应该是可读的。)

我有时会制作 x 轴时间并在 y 轴上绘制两个标量变量。当两个标量变量在不同的度量上时,我重新调整一个或两个标量变量,以便它们可以显示在同一个图上。我使用颜色和形状之类的东西来区分这两个标量变量。为此,我经常使用xyplotfrom 。lattice

这是一个例子:

require(lattice)
xyplot(dv1 + dv2  ~ iv, data = x, col = c("black", "red"))

一种非常有效的方法——我发现它非常有用——是按时间对数据进行排序并绘制一个连接的 X、Y 散点图. (也就是说,连续的点由线段或样条连接。)这在几乎任何统计绘图包中都很简单。如果结果太混乱,请添加方向性图形指示。根据点的密度和它们的时间演变模式,选项包括在线段上使用箭头或以其他方式对线段应用渐变颜色或厚度以指示它们的时间。您甚至可以省略连接线,只需对点进行着色或调整大小以指示时间:当图上有很多点时效果更好。除了以传统形式显示数据之间的双变量关系外,该方法还提供了对时间局部相关性、与主要相关性背道而驰的变化等的清晰视觉指示。

这方面的一个例子出现在我在基于其他行为的预测时间序列的回复中:

散点图

因为这些点在该图中遵循清晰的路径,所以我放弃了连接线,以便让色调代表时间。与两个原始图表相比,该图揭示了有关相应行为的更多细节。从色调的变化中可以清楚地看出时间依赖性,但是图例(将颜色与时间匹配)会对读者有所帮助。