10

散布図について話し合う必要があり、プロットの特定の領域を参照したいと思います。プロットの特定のセクションを「強調表示」する方法はありますか? おそらく、以下のような箱とラベルでしょうか?

set.seed(1410)
dsmall<-diamonds[sample(nrow(diamonds), 100), ]
df<-data.frame("x"=dsmall$carat, "y"=dsmall$price)

p <-ggplot(df, aes(x, y)) 
p <- p + geom_point(alpha=2/10, shape=21, fill="blue", colour="black", size=5)

ここに画像の説明を入力

4

1 に答える 1

15

単一のリージョンの場合annotate、最初に を使用しrect、次にを使用するのが最も簡単textです。

p + annotate("rect", xmin=1.5, xmax=2.5, ymin=12500, ymax= 18000, 
             fill=NA, colour="red") +
    annotate("text", x=1.75, y=17000, label="Region A", size=8)

ここに画像の説明を入力


複数の地域の場合、データをデータ フレームに入れ、 and を使用できgeom_textますgeom_rect

regions <- data.frame(
  xmin=c(1.5, 1, 0),
  xmax=c(2.5, 2, 1),
  ymin=c(12500, 5000, 0),
  ymax=c(17500, 12500, 5000),
  x   =c(2, 1.5, 0.5),
  y   =c(15000, 7500, 2500),
  lab = paste("Region", LETTERS[1:3])
)

p + 
  geom_rect(data=regions, aes(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax), 
            fill=NA, colour="red") +
  geom_text(data=regions, aes(x=x, y=y, label=lab)) 

ここに画像の説明を入力

于 2012-08-14T14:50:28.033 に答える