質問: 100)))) ``` この結果です。![matrixがランダム数字を含みますので、結果は毎回若干変わります](https://i.stack.imgur.com/aaHXc.png) ここでは、D1(左側)のスケールは2~6でありますが、D2(右側)のスケールは0.5~2.5になっています。このスケールの違いを任意のスケール(例えば、1~5など)に固定にしたいです。webなどを参考にpersp3Dのattiributeを変更してみましたがうまくいかず、ここで質問させていただいています。 スケールを固定する方法をご存知の方がおりましたら、ご教授をお願いします。 また、plot3d以外の別の方法であれば可能などでも、教えていただけると幸いです。 よろしくお願いします。
回答: 以下のコードを試してみてください。 ``` library(plot3D) matrix(rexp(100, rate = .3), ncol = 10) -> D1 persp3D( z = D1, zlim = c(-50, 50), phi = 30, contour = list(nlevels = 20, col = "yellow"), image = list(col = grey (seq(0, 1, length.out = 100))), clim = c(1,5) #ここを追加 ) ``` 固定させたいだけなら,`clim =`で指定すればできます。ただ,climで指定した領域を超える値があった場合はNAとして扱われます。 このパッケージは初めて使ったので,この関数のヘルプドキュメントを読みながら試してみました。この他にもカラーバーの設定について色々記載してあるので,詳しくは`?plot3D::persp3D`で確認してみてください。