我的新ggplot2
和不能找出如何繪製沿x軸的點/點之間垂直線與GGPLOT2
垂直點的灰線。這裏是我的示例代碼:
d1 <- runif(10,10,15)
d2 <- runif(10,25,30)
d3 <- rep(1:10,2)
df <- data.frame(x = d3, y = c(d1,d2))
ggplot(df, aes(x=x, y=y)) +
geom_point()
我的新ggplot2
和不能找出如何繪製沿x軸的點/點之間垂直線與GGPLOT2
垂直點的灰線。這裏是我的示例代碼:
d1 <- runif(10,10,15)
d2 <- runif(10,25,30)
d3 <- rep(1:10,2)
df <- data.frame(x = d3, y = c(d1,d2))
ggplot(df, aes(x=x, y=y)) +
geom_point()
如果您的實際數據的結構與示例中使用的結構類似,只需將geom_line(aes(group = d3))
添加到圖中即可。
ggplot(df, aes(x=x, y=y)) +
geom_point() + geom_line(aes(group = d3))
肯定有比這更好的方式,但:
d1 <- runif(10,10,15)
d2 <- runif(10,25,30)
d3 <- rep(1:10,2)
df <- data.frame(x = d3, y = c(d1,d2))
df$place <- rep(c("min", "max") , each=10)
df_wide <- reshape(df, direction = "wide", v.names="y", timevar="place", idvar="x")
ggplot(df, aes(x=x, y=y)) +
geom_segment(aes(x=x, xend=x, y=y.min, yend=y.max),
size=1, data=df_wide, colour="grey70", linetype="dotted") +
geom_point()
雖然我不知道你的意思是「沿x軸」,也許你想它來擴展從上到下不僅在點之間。
如果你是ggplot的新手,我會重新考慮這三個網站:a)http://had.co.nz/ggplot2/; b)http://had.co.nz/ggplot2/docs/; c)http://wiki.stdout.org/rcookbook/Graphs/ –
您應該使用geom_vline()
做到這一點。
d1 <- runif(10,10,15)
d2 <- runif(10,25,30)
d3 <- rep(1:10,2)
df <- data.frame(x = d3, y = c(d1,d2))
ggplot(df, aes(x=x, y=y)) + geom_point() +
geom_vline(xintercept = df$x, linetype= 3, colour = "#919191")
是應該延長點的線? (我自己並不確定) –
我在猜測,所以我想出了這個解決方案。不清楚這個問題。 – Maiasaura
感謝您的解決方案!簡單,效果很好。也感謝其他解決方案,並澄清我只想在2點之間的線,而不是通過點的延伸! – user969113