1

への道はありggplot2ますか?

  1. グリッド領域の x 軸と y 軸の範囲にプログラムでアクセスするか、
  2. プロットgeom_textエリアの中央にテキストを配置するよう指示する

testData <- data.table(a = c(1,2,3,4), b=rnorm(100, 1, 3), c=rnorm(100))
ggplot(testData) + geom_point(aes(x=a, y = b)) + geom_text(aes(x=a, y = 0, label="label")) 

多数のチャートを自動的に生成しており、使用する適切な範囲を決定したいので、y 軸の範囲を手動で設定する必要はありませんggplot2

4

2 に答える 2

5

これは、あなたの望むことですか:

g1 <- ggplot(testData) +
  geom_point(aes(x = a, y = b)) +
  geom_text(aes(x = a, y = mean(range(b)), label="label"))

g1

ここに画像の説明を入力

Q1、プロット エリアの範囲にアクセスする場合:

# build plot object for rendering
gg1 <- ggplot_build(g1)

gg1$panel$ranges[[1]]$x.range
gg1$panel$ranges[[1]]$y.range

# mid-point of y-range from plot object 
mean(gg1$panel$ranges[[1]]$y.range)
# [1] 0.5517525

# mid-point used in plot above
with(testData, y = mean(range(b)))
# [1] 0.5517525
于 2013-09-30T21:17:23.327 に答える
3

y mid 値を使用する @Henrik のアイデアに似ていますが、ylimorを使用して y 制限を手動で設定することもできscale_y_continuousます。

y.ranges <- c(-100,100)
ggplot(testData,aes(x=a, y = b)) + 
  geom_point() + 
  scale_y_continuous(limits = y.ranges) +
  geom_text(aes(x=a, y =mean(range(y.ranges)) , label="label"))
于 2013-09-30T21:30:11.197 に答える