1
グリッドグラフィックスで作成されたプロット/テーブルを「ズームイン」することは可能でしょうか?R - グリッドグラフィックスオブジェクトの「ズーム」方法
たとえば、私はプロットを作成したが、左下の四半期に集中したいので、プロット範囲をx = c(0,0.5)とy = c(0、0.5)に設定して拡大します。
以下のコードは私ができる最高のものですが、ggplotのマージンパネルなどの固定サイズの要素を考慮することはできません。 xrange = c(0,0.1)
& yrange = c(0,0.1)
スケーリングを変更して、ggplotマージンパネルがまったく同じサイズを維持し、ggplotポイントを配置したgrid.text要素のアラインメントから外していることがわかります。
library(ggplot2)
library(dplyr)
library(grid)
PLOT <- ggplot(iris , aes(x = Sepal.Width , y = Sepal.Length)) + geom_point()
GPLOT <- ggplotGrob(PLOT)
COORDS <- expand.grid(c(0:10) , c(0:10)) %>%
as_data_frame() %>%
setNames(c("x" , "y")) %>%
mutate(label = paste0(x , "," ,y)) %>%
mutate(x= x/10 , y = y/10)
xrange <- c(0, 0.5)
yrange <- c(0, 0.5)
grid.newpage()
pushViewport(
viewport(
x = 0.5 + (0.5 - mean(xrange))/diff(xrange) ,
y = 0.5 + (0.5 - mean(yrange))/diff(yrange),
width = 1/diff(xrange) ,
height = 1/diff(yrange)
)
)
grid.draw(GPLOT)
grid.text(label = COORDS$label , x = COORDS$x , y = COORDS$y)