在 R 中的绘图中添加垂直线连接点到水平线
Add vertical lines connecting point to a horizontal line in a plot in R
我正在 R 中绘制一些自相关值:
plot(y=lag[2:N],x=1:(N-1), xlab="lag",ylab="Autocorrelation",ylim=c(-1,1), pch=16,col="red")
abline(h=0, col="black")
abline(h=up, col="blue")
abline(h=low, col="blue")
这是我的代码,这是我在 R 中得到的
但是,我想要像下图这样的东西,我用红线将点连接到 0 处的水平线。
知道怎么做吗?
可以用type = "h"
加竖线,然后分别加点
plot(y=lag[2:N],x=1:(N-1), xlab="lag",ylab="Autocorrelation",ylim=c(-1,1), col="black", type = "h")
points(y=lag[2:N],x=1:(N-1), xlab="lag", ylim=c(-1,1), pch=16,col="red", type = "p")
如果使用 ggplot,应该这样做:
plot_df = data.frame(x = 1:20, y = rnorm(20))
ggplot(plot_df, aes(x, y, ymax = y, ymin = 0)) +
geom_pointrange(color = "red") +
geom_hline(yintercept = min(plot_df$y), color = "blue") +
geom_hline(yintercept = max(plot_df$y), color = "blue")
我正在 R 中绘制一些自相关值:
plot(y=lag[2:N],x=1:(N-1), xlab="lag",ylab="Autocorrelation",ylim=c(-1,1), pch=16,col="red")
abline(h=0, col="black")
abline(h=up, col="blue")
abline(h=low, col="blue")
这是我的代码,这是我在 R 中得到的
但是,我想要像下图这样的东西,我用红线将点连接到 0 处的水平线。
知道怎么做吗?
可以用type = "h"
加竖线,然后分别加点
plot(y=lag[2:N],x=1:(N-1), xlab="lag",ylab="Autocorrelation",ylim=c(-1,1), col="black", type = "h")
points(y=lag[2:N],x=1:(N-1), xlab="lag", ylim=c(-1,1), pch=16,col="red", type = "p")
如果使用 ggplot,应该这样做:
plot_df = data.frame(x = 1:20, y = rnorm(20))
ggplot(plot_df, aes(x, y, ymax = y, ymin = 0)) +
geom_pointrange(color = "red") +
geom_hline(yintercept = min(plot_df$y), color = "blue") +
geom_hline(yintercept = max(plot_df$y), color = "blue")