预实现的效果图两张:


刚上手用R绘图便开始学习ggplot2包,对R基础绘图不太熟悉,想尝试用ggplot2中的函数绘制,
<br />
v<- ggplot(data, aes(x,y, z =z))<br />
v + stat_contour(aes(colour = ..level..))<br />
v + geom_tile(aes(fill = value, colour=value))<br />
v + geom_tile(aes(fill = value)) + scale_fill_gradient(low="blue", high="red")<br />
出来的效果图并不理想,contour画出的只有线,没有渲染,tile绘出的不够平滑。

</p>
google了下发现基础包中的contour函数就可以满足要求,
<br />
x <- 10*(1:nrow(volcano))<br />
y <- 10*(1:ncol(volcano))<br />
image(x, y, volcano, col = terrain.colors(100), axes = FALSE)<br />
contour(x, y, volcano, levels = seq(90, 200, by = 5), add = TRUE, col = "peru")<br />
但是应用到自己的数据时总是提示x,y需要是递增序列,我的数据是这样的:
[data]
x y z
1961 1 0.85219125
1961 2 -0.019740801
1961 3 -0.909250055
1961 4 -0.786524155
1961 5 -1.10184998
1961 6 -1.162280794
1961.3 1 -0.852248984
1961.3 2 -0.989993571
1961.3 3 0.039612653
1961.3 4 0.163369982
1961.3 5 -0.637078666
1961.3 6 -0.675985526
[/data]
这个数据绘制等值线图是能够理解的,但是却无法满足contour函数所谓的x,y递增排列???</p>
寻求帮助!
谢谢!