如何在填充等高线图中添加散点图?

6

我有一个数据集,由9个点组成,这些点是由2个变量的3个值的组合观察得出的。

x <- c(0,10,100)
y <- c(0,25,30)
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE)

使用这些数据我创建了一个等高线图

filled.contour(x,y,z)

enter image description here

另外,我从数据收集的点创建了散点图。

A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y
plot(A,B)

enter image description here

然而,当我试图将它们放在一起时,效果并不好。有人可以帮我吗?我该如何正确地将散点图放在等高线图之上?
x <- c(0,10,100)
y <- c(0,25,30)
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE)
A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y
filled.contour(x,y,z)
points(A,B)

enter image description here


似乎它们没有在同一坐标轴上绘制。Y轴是相同的比例尺,但X轴不是。 - Heikki
@Heikki 我该如何解决这个问题? - Daniel Valencia C.
2
请参见 ?filled.contourfilled.contour 产生的输出实际上是两个图形的组合;一个是填充轮廓,另一个是图例。这两个图形设置了两个分离的坐标系统,但它们仅在内部使用——一旦函数返回,这些坐标系统就会丢失。如果您想注释主要轮廓图形,例如添加点,则可以在 plot.axes 参数中指定图形命令。请参考示例。 - Heikki
1个回答

3

正如@Heikki评论的那样,我做了一些修改:

x <- c(0,10,100)
y <- c(0,25,30)
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE)
A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y
filled.contour(x,y,z,#
  plot.axes = { axis(1); axis(2); points(A,B)}) #<- New

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接