2016-08-24 28 views
2

私は本当にRが新しく、ここで追加したようなImageを作成したいのですが、Color Rangeを0から1にする必要があります。画像では0.2から0.6です。ここ は、私が使用して私のRコードです: Mat.csvは引数climはあなたの問題を解決します[0,1]persp3dでの色範囲の設定R

library(plot3D) 
mydata <- read.csv("D:/output/Mat.csv") 
mydata <- as.matrix(mydata) 
pdf("D:/output/surfaceplot.pdf") 
mycols <- colorRampPalette(c("#ff0000", "#00ff00")) 
persp3D(z = mydata, theta = 120, zlim=c(0,1)) 
dev.off() 

Example Graph

答えて

0

の値を持つ2次元マトリックスです。 (persp3Dplot3Dパッケージの機能ですが、persp3drglパッケージの機能です)注意colorRampPaletteは、指定された色のセットを補間して新しい関数の引数番号を作成するfunctionを返します。したがって、の出力にcolorRampPaletteが返ってくるので、persp3Dのカラーベクトルを設定することができます。例えば、persp3D(..., col = mycols(256))または、mycolv <- mycols(256); persp3D(..., col = mycolv)

library(plot3D) 

## example data 
x <- seq(-pi, pi, by = 0.1) 
y <- seq(-pi, pi, by = 0.1) 
mydata <- outer(x, y, function(x, y) cos(x) * sin(y)) 
range(mydata) # about -1 ~ 1 

## colour function 
mycols <- colorRampPalette(c("blue", "red", "green", "yellow")) 

## draw 
persp3D(z = mydata, ticktype = "detailed", col = mycols(256))     # left 
persp3D(z = mydata, ticktype = "detailed", col = mycols(256), clim=c(-2, 2)) # right 

enter image description here

+0

はどうもありがとうございました! まさに私がそれを望んでいて、とてもよく説明されている – Fadi