5

私は初めてでggplot2、縦の灰色の点線を間に描く方法がわかりません

x 軸に沿ったポイント/ドット。これが私のコード例です:

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()
4

3 に答える 3

18

実際のデータが例で使用したもののように構造化されている場合はgeom_line(aes(group = d3))、プロットに追加するだけです。

ggplot(df, aes(x=x, y=y)) +  
 geom_point() + geom_line(aes(group = d3))

ここに画像の説明を入力してください

于 2012-09-03T20:33:13.963 に答える
1

これよりも確実に良い方法がありますが、次のとおりです。

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軸に沿って」とはどういう意味かわかりませんが、ポイント間だけでなく、上から下に拡張したいかもしれません。

于 2012-09-03T19:59:50.890 に答える
0

これを行うために使用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")
于 2012-09-03T20:45:46.280 に答える