0
my previous questionで生成されたこのグラフにいくつかの注釈を追加したいと思います。ポイントとテキストをggplot annotation_grobに追加しますか?
set.seed(40816)
library(ggplot2)
library(grid)
df.plot <- data.frame(x = rnorm(100, 0, 1))
strainerGrob <- function(pos=unit(4,"mm"), gp=gpar(lty=2, lwd=2))
segmentsGrob(0, unit(1,"npc") - pos, 1, unit(1,"npc") - pos, gp=gp)
ggplot(df.plot, aes(x = x)) + geom_density() +
annotation_custom(strainerGrob(), xmin = -1, xmax = 1, ymin=-Inf, ymax=0)
Iは0
と0のドットのドットの上、右に1
、セグメントの左側に-1
を追加したいです。このすべてはy
の絶対距離を使用する必要はありません。これは可能ですか?今、私はハードy
ggplot(df.plot, aes(x = x)) + geom_density() +
annotation_custom(strainerGrob(), xmin = -1, xmax = 1, ymin=-Inf, ymax=0) +
geom_point(aes(x=0, y=-0.01)) +
annotate("text", x = -1, y = -0.01, label = -1, hjust = 1.5) +
annotate("text", x = 1, y = -0.01, label = 1, hjust = -1) +
annotate("text", x = 0, y = 0, label = 0, vjust = 2.75)
をコーディングそれを行うことができます。しかし、私はデータを変更した場合のポイントや他の注釈は、間違った場所に終わります。
df.plot <- data.frame(x = rnorm(100, 0, 4))
ggplot(df.plot, aes(x = x)) + geom_density() +
annotation_custom(strainerGrob(), xmin = -1, xmax = 1, ymin=-Inf, ymax=0) +
geom_point(aes(x=0, y=-0.01)) +
annotate("text", x = -1, y = -0.01, label = -1, hjust = 1.5) +
annotate("text", x = 1, y = -0.01, label = 1, hjust = -1) +
annotate("text", x = 0, y = 0, label = 0, vjust = 2.75)
ありがとうございます!これは素晴らしい! – Ignacio
私は 'xmax'を' xmax = 2'に変更してポイントと '0'を移動させます。 'x = 0'のままにする方法を教えてください。 – Ignacio
あなたの質問にあなたがしようとしていることを説明できますか?私は固定値で質問に答えましたが、私はあなたの実際の問題に何が変わるか分かりません。データ座標と他のグリッド単位を混在させるのは、一般的にはややこしいかもしれません。 – baptiste