Я хочу создать каскадный график в R (XYYY) из моих данных.
Пока я использую этот код:
load("myData.RData")
ls()
dim(data)
##matrix to xyz coords
library(reshape2)
newData <- melt(data, id="Group.1")
dim(newData)
head(newData)
tail(newData)
newDataO <- newData[c(2,1,3)]
head(newDataO)
##color scale for z axis
myColorRamp <- function(colors, values) {
v <- (values - min(values))/diff(range(values))
x <- colorRamp(colors)(v)
rgb(x[,1], x[,2], x[,3], maxColorValue = 255)
}
cols <- myColorRamp(c("darkblue","yellow","darkorange","red","darkred"),newDataO$value)
##3D scatter
library(rgl)
plot3d(newDataO$variable, newDataO$Group.1, newDataO$value, xlab="", ylab="", zlab="", type="p", col=cols, box=FALSE, axes=FALSE)
rgl.postscript("persptrial_060514.eps","eps")
чтобы получить этот сюжет:
https://dl.dropboxusercontent.com/u/14906265/persptrial_060514.jpg
Я также использовал эту опцию в 2D с многоугольником, но результат не показывает должным образом дифференциальный эффект между обоими графиками (левый и правый).
Я не знаю, сможет ли что-то вроде persp3d выполнить эту работу, но я недостаточно знаком с написанием кода, чтобы добиться этого. Любая помощь будет очень признательна.