以下の例のような一連のワイヤープロットがあります。
require(lattice)
# set up some data
theta <- seq(-3, 3, .4)
data <- expand.grid(theta, theta)
data$z <- dnorm(data[,1]) * dnorm(data[,2])
names(data) <- c('x','y','z')
# plot it
wireframe(z ~ x * y, data,
scales = list( arrows = FALSE),
aspect = c(1, .6),
drape = TRUE)
これは以下のプロットを与えます。
パネルの輪郭を削除したいのですが。標準的な解決策は、par.settings = list(axis.line = list(col = 'transparent'))
;を使用することです。
# try to remove outline
wireframe(z ~ x * y, data,
scales = list( arrows = FALSE),
aspect = c(1, .6),
drape = TRUE,
par.settings = list(axis.line = list(col = 'transparent')))
これは確かにアウトラインを削除しますが、それだけではありません...
軸の目盛りとカラースケールの周りの輪郭も削除されます。2Dプロットのソリューションが利用可能です。たとえば、Rラティスxyplotで軸ティックと軸線を別々に制御するを参照してください。ただし、3D /ワイヤーフレームプロットの同様のソリューションを見つけることができませんでした。
上記の回答のように軸関数を提供することをいじってみましたが、関数は上/下/左/右に対してのみ呼び出されるようです。これは3Dプロットにはあまり役立ちません。
設定時にラティスが目盛りとスケールの輪郭を削除しないようにするにはどうすればよいpar.settings = list(axis.line = list(col = 'transparent'))
ですか?
それができない場合、ワイヤーフレームプロットの目盛りに使用される関数と、カラースケールのアウトラインに使用される関数は何ですか?
このコードがその役目を果たします。
wireframe(z ~ x * y, data,
scales = list( arrows = FALSE, col="black"), # col="black" is required
aspect = c(1, .6),
drape = TRUE,
par.settings = list(axis.line = list(col = 'transparent'))
)
これはSethWBigelowの回答から採用されています
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加