【发布时间】:2015-08-29 11:58:29
【问题描述】:
假设我有一个变量在多个不同迭代中的蒙特卡罗模拟输出(想想数百万)。对于每次迭代,我都有每个时间点的变量值(范围从 t=1 到 t=365)。
我想制作以下情节: 对于 x 轴上的每个时间点 t 以及给定范围内的每个可能值“y”,将 x,y 的颜色设置为“k”,其中“k”是在 a 内有多少观测值的计数距离“d”到 x,y 的附近。
我知道您可以轻松地为一维数据制作密度热图,但是是否有一个很好的软件包可以在二维上执行此操作?我必须使用克里金法吗?
编辑:数据结构目前是一个矩阵。
data matrix
day number
[,1] [,2] [,3] [,4] [,5] ... [,365]
iteration [1,] 0.000213 0.001218 0.000151 0.000108 ... 0.000101
[2,] 0.000314 0.000281 0.000117 0.000103 ... 0.000305
[3,] 0.000314 0.000281 0.000117 0.000103 ... 0.000305
[4,] 0.000171 0.000155 0.000141 0.000219 ... 0.000201
.
.
.
[100000000,] 0.000141 0.000148 0.000144 0.000226 ... 0.000188
我想,对于每个“天”,像素在那个“天”上垂直运行,以用颜色表示该天迭代值的概率密度。结果应该看起来像热图。
【问题讨论】:
-
试试
image函数,或者ggplot2中的geom_tile/geom_raster。 -
@ssdecontrol 如果我要使用图像功能,如何处理我没有数据的 x,y 坐标?我是否必须通过插值自己为绘图构建 x,y 矩阵?我希望有一些东西可以开箱即用地做到这一点......
-
@Alfalfa 缺失数据是任何上下文中的缺失数据。如果你的矩阵中有“洞”,那么你需要处理它们。如果您的意思是您的 x 轴应该不是“1、2、3、4”,那么您可以自己构建轴。
-
@Alfalfa 还有一些例子here
-
@ssdecontrol hexbinplot 似乎非常适合我想做的事情。非常感谢!
标签: r plot time-series heatmap kriging