2016-10-14 4 views
1

グリッドパッケージでは、デフォルトで、新しいビューポートのxとyの位置が0と1の間(ビューポートの幅/高さに相対)になります。私は範囲に値を変換する必要がある値をプロットするために 0と1の間:R:グリッドパッケージの絶対座標

library(grid) 

vect1 <- rnorm(20) 
vect1_relative <- vect1-min(vect1) 
vect1_relative <- vect1_relative/max(vect1_relative) 

vect2 <- rnorm(20) 
vect2_relative <- vect2-min(vect2) 
vect2_relative <- vect2_relative/max(vect2_relative) 

pushViewport(viewport()) 
grid.lines(x = c(0,1),y = c(0,1)) 
grid.points(x = vect1_relative,y = vect2_relative) 

私はもっと簡単な解決策があると確信していると私はそれが開いている間unit()を使用して行う必要がありますと仮定ビューポート、しかし私はまだどのように把握していない。 グリッドビューポートで絶対値を使用する方法(およびxlim/ylimを定義する)の例を私に示してもらえますか?

答えて

1

1つのオプションは、dataViewportnative単位を使用することです。

library(grid) 

d <- data.frame(x=100*rnorm(10),y=1e4*rnorm(10)) 
grid.newpage() 
pushViewport(viewport(width=0.8,height=0.8)) 
grid.rect(gp=gpar(fill="grey98")) 
vp <- dataViewport(xData = d$x, yData = d$y) 
grid.points(d$x, d$y, default.units = "native", vp=vp, 
      pch=19, size = unit(0.2,"char")) 

enter image description here

+0

ナイス!正確に私が探していたもの、ありがとう。 –

関連する問題