私はGKS時代のグラフィックプログラマーで、Rグラフィックを使おうとしています。Rの変換に関連する2つの質問があります。
ワールド座標[wc]のウィンドウをデバイス座標[dc]のビューポートにマップできるRで表示パイプラインを構築するのと同等のものがあるかどうか疑問に思いました。たとえば、(wcxmin、wcxmax、wcymin、wcymax)のウィンドウを(vpxmin、vpxmax、vpymin、vpymax)にマップする変換tを指定できます。ここで、wcは(1000、-50、40、90)、vpは(0 、800、0、600)。目的は、すべてのグラフィック計算がwcで行われるが、グラフィックエンジンがそれをdcでレンダリングすることです。この場合、座標を適切にスケーリングし、x軸をwcxmin>wcxmaxとして反転します。
変換行列を介して変換[スクレイ、シフト、回転、場合によってはせん断]できるグラフィックセグメントに相当するものはありますか。
Rグラフィックスの非常に基本的なものが欠けていると確信しています。私は問題なくSVGでそのような変換をうまく構築することができました。私はgrid、lattice、ggplot2のようなパッケージを見てきましたが、あまり進歩することができませんでした。
ありがとう。
これが私がやろうとしていることのサンプルコードです:
distn<-rnorm(100)
distw<-rweibull(100, shape=2)
dret<-stack(list(norm=distn, weib=distw))
n<-0
for (idx in levels(dret$ind)) {
pct<-dret[dret$ind == idx,c('values')]
# scale and shift the data
pct<-(pct-min(pct))/(max(pct) - min(pct))
if (n == 0) {
# top left
par(fig=c(0,0.5,0.5,1))
limx<-c(0,1)
} else {
# bottom right
par(fig=c(0.5,1,0,0.5), new=TRUE)
limx<-c(1,0)
}
fp<-density(pct)
sfx<-fp$x
sfy<-(fp$y-min(fp$y))/(max(fp$y)-min(fp$y))
sortpct<-sort(pct)
ecdfpct<-(1:length(sortpct))/length(sortpct)
plot(sortpct, ecdfpct, xlim=limx, type="l", col="green")
lines(sfx, sfy, xlim=limx, type="l", col="red")
n<-n+1
}
右下の象限の図を-90度回転させたいと思います。