Lib*_*oja 3 r graph gnuplot heatmap
interp.old(x,y,z,xo = xo,yo = yo,ncp = 0,extrap = extrap,
:x和y的比例太不同了
在代码行之后:
s <- interp(x,y,z)
Run Code Online (Sandbox Code Playgroud)
我的数据被构造为期望在深色连续背景中获得彩色的热图,如线条,并且可以GNUplot使用set pm3d map和来工作set hidden3d。数据对应y于给定时间(x)中分子产生()的模型,其出现频率用表示z。看起来像这样:
1.000000000000e+00 1e-8 0
1.000000000000e+00 5e-8 0
1.000000000000e+00 1e-7 5
1.000000000000e+00 5e-7 0
1.000000000000e+00 1e-6 0
1.000000000000e+00 5e-6 0
1.000000000000e+00 1e-5 0
1.000000000000e+00 5e-5 0
1.000000000000e+00 1e-4 0
1.000000000000e+00 5e-4 0
1.000000000000e+00 1e-3 0
1.000000000000e+00 5e-3 0
1.000000000000e+00 1e-2 0
1.000000000000e+00 5e-2 0
1.000000000000e+00 1e-1 0
1.000000000000e+00 5e-1 0
1.000000000000e+00 1e+1 0
1.000000000000e+00 5e+1 0
1.000000000000e+00 1e+2 0
1.000000000000e+00 5e+2 0
1.000000000000e+00 1e+3 0
1.000000000000e+00 5e+3 0
1.000000000000e+00 1e+4 0
1.000000000000e+00 5e+4 0
1.000000000000e+00 1e+5 0
1.000000000000e+00 5e+5 0
1.000000000000e+00 1e+6 0
1.000000000000e+00 5e+6 0
1.000000000000e+00 1e+7 0
1.000000000000e+00 5e+7 0
1.000000000000e+00 1e+8 0
1.000000000000e+00 5e+8 0
2.000000000000e+00 1e-8 0
2.000000000000e+00 5e-8 0
2.000000000000e+00 1e-7 0
2.000000000000e+00 5e-7 5
2.000000000000e+00 1e-6 0
2.000000000000e+00 5e-6 0
2.000000000000e+00 1e-5 0
2.000000000000e+00 5e-5 0
2.000000000000e+00 1e-4 0
2.000000000000e+00 5e-4 0
2.000000000000e+00 1e-3 0
2.000000000000e+00 5e-3 0
2.000000000000e+00 1e-2 0
2.000000000000e+00 5e-2 0
2.000000000000e+00 1e-1 0
2.000000000000e+00 5e-1 0
2.000000000000e+00 1e+1 0
2.000000000000e+00 5e+1 0
2.000000000000e+00 1e+2 0
2.000000000000e+00 5e+2 0
2.000000000000e+00 1e+3 0
2.000000000000e+00 5e+3 0
2.000000000000e+00 1e+4 0
2.000000000000e+00 5e+4 0
2.000000000000e+00 1e+5 0
2.000000000000e+00 5e+5 0
2.000000000000e+00 1e+6 0
2.000000000000e+00 5e+6 0
2.000000000000e+00 1e+7 0
2.000000000000e+00 5e+7 0
2.000000000000e+00 1e+8 0
2.000000000000e+00 5e+8 0
3.000000000000e+00 1e-8 0
3.000000000000e+00 5e-8 0
3.000000000000e+00 1e-7 0
3.000000000000e+00 5e-7 0
3.000000000000e+00 1e-6 5
3.000000000000e+00 5e-6 0
3.000000000000e+00 1e-5 0
3.000000000000e+00 5e-5 0
3.000000000000e+00 1e-4 0
3.000000000000e+00 5e-4 0
3.000000000000e+00 1e-3 0
3.000000000000e+00 5e-3 0
3.000000000000e+00 1e-2 0
3.000000000000e+00 5e-2 0
3.000000000000e+00 1e-1 0
3.000000000000e+00 5e-1 0
3.000000000000e+00 1e+1 0
3.000000000000e+00 5e+1 0
3.000000000000e+00 1e+2 0
3.000000000000e+00 5e+2 0
3.000000000000e+00 1e+3 0
3.000000000000e+00 5e+3 0
3.000000000000e+00 1e+4 0
3.000000000000e+00 5e+4 0
3.000000000000e+00 1e+5 0
3.000000000000e+00 5e+5 0
3.000000000000e+00 1e+6 0
3.000000000000e+00 5e+6 0
3.000000000000e+00 1e+7 0
3.000000000000e+00 5e+7 0
3.000000000000e+00 1e+8 0
3.000000000000e+00 5e+8 0
4.000000000000e+00 1e-8 0
4.000000000000e+00 5e-8 0
4.000000000000e+00 1e-7 0
4.000000000000e+00 5e-7 0
4.000000000000e+00 1e-6 0
4.000000000000e+00 5e-6 5
4.000000000000e+00 1e-5 0
4.000000000000e+00 5e-5 0
4.000000000000e+00 1e-4 0
4.000000000000e+00 5e-4 0
4.000000000000e+00 1e-3 0
4.000000000000e+00 5e-3 0
4.000000000000e+00 1e-2 0
4.000000000000e+00 5e-2 0
4.000000000000e+00 1e-1 0
4.000000000000e+00 5e-1 0
4.000000000000e+00 1e+1 0
4.000000000000e+00 5e+1 0
4.000000000000e+00 1e+2 0
4.000000000000e+00 5e+2 0
4.000000000000e+00 1e+3 0
4.000000000000e+00 5e+3 0
4.000000000000e+00 1e+4 0
4.000000000000e+00 5e+4 0
4.000000000000e+00 1e+5 0
4.000000000000e+00 5e+5 0
4.000000000000e+00 1e+6 0
4.000000000000e+00 5e+6 0
4.000000000000e+00 1e+7 0
4.000000000000e+00 5e+7 0
4.000000000000e+00 1e+8 0
4.000000000000e+00 5e+8 0
Run Code Online (Sandbox Code Playgroud)
第一个建议给了我一些丑陋的结果,类似于最初在R中的A真热图中获得的结果,该图是由一些水平线组成的图,其中水平线充满了不同的灰度色调。第二个似乎崩溃了。我从中收到此消息:
>Traceback:
1: .Fortran("idsfft", as.integer(1), as.integer(ncp), as.integer(n), as.double(x), as.double(y), as.double(z), as.integer(nx), as.integer(ny), x = as.double(xo), y = as.double(yo), z = zo, integer((31 + ncp) * n + nx * ny), double(5 * n), misso = as.logical(misso), PACKAGE = "akima")
2: interp.old(x, y, z, xo = xo, yo = yo, ncp = 0, extrap = extrap, duplicate = duplicate, dupfun = dupfun)
3: interp(x, y, z)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Run Code Online (Sandbox Code Playgroud)
我只是添加了更多数据,以防它有所帮助。我这样称呼数据框中的列:
coso <-read.table(“ / home / libertad / mygraphs / two / two_1_90 / coso.txt”,标头= FALSE,sep =“ \ t”)
>x <-coso[[1]]
>y <-coso[[2]]
Run Code Online (Sandbox Code Playgroud)
这是我在GNUplot中使用的图形之一,我希望使用R可以得到更好的图形。
使用scale()变换x和y可比尺度。
fields按照您的问题使用软件包:
library(akima)
library(fields)
x <- rnorm(20, 4, 3)
y <- rnorm(20, 5e-5, 1e-5)
x <- scale(x) # comment out these two lines
y <- scale(y) # to reproduce your error
z <- rnorm(20)
s <- interp(x,y,z)
image.plot(s)
Run Code Online (Sandbox Code Playgroud)
使用ggplot2,改编自我的其他答案:
library(akima)
library(ggplot2)
x <- rnorm(20, 4, 3)
y <- rnorm(20, 5e-5, 1e-5)
x <- scale(x) # comment out these two lines
y <- scale(y) # to reproduce your error
z <- rnorm(20)
t. <- interp(x,y,z)
t.df <- data.frame(t.)
gt <- data.frame( expand.grid(X1=t.$x,
X2=t.$y),
z=c(t.$z),
value=cut(c(t.$z),
breaks=seq(min(z),max(z),0.25)))
p <- ggplot(gt) +
geom_tile(aes(X1,X2,fill=value)) +
geom_contour(aes(x=X1,y=X2,z=z), colour="black")
p
Run Code Online (Sandbox Code Playgroud)
在另一个问题中,还描述了在重新缩放之前用原始数据的正确值标记轴的解决方案。目前仅适用于ggplot。