私は、配列の列に基づいて条件付きで配列の一部を変更しようとするプロットに を使用しています。配列のサブセクションを操作する
私は、次のステップアウト働いている:これは動作します
x<-array(1,dim=c(4,4,3))
r<-x[,,1]
g<-x[,,2]
b<-x[,,3]
r1<-apply(r[,2:3],1:2,function(f){return(0)})
g1<-apply(g[,2:3],1:2,function(f){return(0)})
b1<-apply(b[,2:3],1:2,function(f){return(0)})
r3<-cbind(r[,1],r1,r[,4])
g3<-cbind(g[,1],g1,g[,4])
b3<-cbind(b[,1],b1,b[,4])
# Pass to pixmapRGB
を、私はRに新しいですと、配列の一部 を操作するためのより効率的な方法があった 場合、私は思っていました。
たとえば、どの要素が作業しているかを知っていますか?
大きな画像は、時系列の散布図を 多くのページにプロットするグラフです。
ページの隅に、 のシリーズ全体のグラフであるサムネイルを表示したいと考えています。 の部分に色を付けると、現在のページが調べている範囲を示す異なる色がサムネイルに表示されます。
データがたくさんあるので、すべてのページのサムネイルに新しいプロット を再描画することはできません。
私が行ったことは、最初にサムネイルプロットをtiffファイルに書き出すことです。 次に、tiffファイルを読み込み、pixmap からgetChannelsを使用して画像を配列に分割し、上のコードを使用して の一部のピクセルを列に基づいて変更しました。 最後に、 pixmapRGB/pixmapGrob/grid.drawを使用して画像をビューポートに印刷します。
これは多くの手順のようです。私はこれをより効率的にするのに役立つポインタ に感謝します。
この情報をお寄せいただきありがとうございます。配列の割り当てについて考えることを忘れないでください...しかし、私の例はやや単純すぎました。 サムネイルはグレースケールです。ピクセルが白い場合、コードは実際に を確認します。そうであれば、それを赤に変えます。 白でない場合、赤の値が増えて赤くなります。 – Casey
これはどうですか:r [which(r == 0)] = 3; r [which(r!= 0)] = r [which(r!= 0)] + 1 – nsheff
私の元々のアイデアは、 :)私は戻って、あなたの最初の解決策で配列のインデックスを使用し、わずかにすべてをreddened。ありがとう! – Casey