如何在x和amp;上标记点的坐标? R中的y轴

时间:2015-08-03 22:45:54

标签: r

一个例子是这样的:

enter image description here

点(1,-1)的x,y坐标延伸到x,y轴。现在,我只是通过函数xline添加2个虚线y = 1和x = -1,并从包yline添加fields。但是,当我想要标记的点类似于(0.5,-0.5)时,这不起作用。然后相应的值不包含在轴中。在这种情况下,x轴应该有标签-1,0,0.5,1,2,3,但我在这里缺少0.5。我该如何解决?

编辑: 例如,假设我绘制了抛物线y =(x - 0.5)^ 2 - 0.5

quadratic <- function (x) {
    return((x - 0.5)^2 - 0.5)
}
curve(quadratic, from = -1, to = 2)

如何像图片中的示例一样标记顶点的坐标?

2 个答案:

答案 0 :(得分:3)

您可以将x分量和y分量设置为0以获得两个点,并将adjpos参数与text一起使用以将文本置于特定位置如果你想标记,那就是这个地方的位置。

## Your setup
curve(-(x-1)^2-1, ylim=c(-5,0), xlim=c(-1, 3))
abline(h=0, v=0, lwd=2)
grid()

## Add a point
p <- c(1, -1)
points(t(p), pch=16)
text(t(p), "Vertex", adj=-1)

## At axes
ps <- diag(2)*p  # get points at axes
points(ps, col="red", pch=c("|", "-"), cex=1:2)
text(ps, col="black", labels=paste(diag(ps)), pos=c(1, 4))

enter image description here

答案 1 :(得分:0)

我找到了以下解决方案的朋友:

n = -3:3
f = 2^n
plot(n, f, main="Função Exponencial", xlab="X-axis label", ylab="y-axix label", t='l', ylim=c(0,10), xlim=c(-3,3), col=4, axes=F)
axis(1, pos=0)
axis(2, pos=0)   
# Inclui linhas de grade
abline(h=seq(-2,10,0.5),v=seq(-3,3,0.5),lty=3,col="gray", lwd=2)
p <- c(1, 2)
points(t(p), col="red", pch=16)
text(t(p), "Vertex1", adj=-1)
p <- c(2, 4)
points(t(p), col="blue", pch=16)
text(t(p), "Vertex2", adj=-1)

enter image description here