当使用ifelse时,使用三个变量(混合)的ggplot2的散点图在r中给出了错误的结果
我 尝试使用ggplot2绘制三个不同变量的散点图。我希望每个变量都有自己的图标打印形状和颜色。然而,代码给出的两个树图是完全相同的,这是错误的当使用ifelse时,使用三个变量(混合)的ggplot2的散点图在r中给出了错误的结果,r,ggplot2,R,Ggplot2,我 尝试使用ggplot2绘制三个不同变量的散点图。我希望每个变量都有自己的图标打印形状和颜色。然而,代码给出的两个树图是完全相同的,这是错误的 ## generate the data N=2000 dim=dim U=runif(N, min=0,max=1) #set.seed(123) #U=runif(N, min=0,max=1) X = matrix(NA, nrow=N, ncol=3) for (i in 1:N){ if(U[i] <
## generate the data
N=2000
dim=dim
U=runif(N, min=0,max=1)
#set.seed(123)
#U=runif(N, min=0,max=1)
X = matrix(NA, nrow=N, ncol=3)
for (i in 1:N){
if(U[i] < 0.5){
X[i,] <- rCopula(1,claytonCopula(1,dim=3)) ## must be lower tail
} else if (U[i] < 0.3) {
X[i,] <- rCopula(1,gumbelCopula(7,dim=3)) ## must be upper tail
}else{
X[i,] <- rCopula(1,frankCopula(2,dim=3))
}
}
##生成数据
N=2000
暗淡的
U=runif(N,最小值=0,最大值=1)
#种子集(123)
#U=runif(N,最小值=0,最大值=1)
X=基质(NA,nrow=N,ncol=3)
for(1:N中的i){
if(U[i]<0.5){
X[i,]ggplot2
忽略了z
美学,出于某种原因,添加了facet\u-wrap(~sh\u of)
。如果您真的想使用ggplot2
,您可以将z
维度装箱,并使用facet\u-wrap(~z)
绘制“切片”当然可以。但要获得实际的3d绘图,您需要另一个软件包-我建议使用plotly
()或rgl
()你能发布它生成的绘图吗?我不知道有任何ggplot2
函数可以制作3d绘图,除非你使用plotly
或一些扩展。你知道关于这个z
美学的任何文档吗?谢谢你的评论。老实说,我不知道关于z的任何文档。z是我的第三个变量。我将发送“正在绘制图形。@juod我添加了图形。对不起,我无法理解“bin the z”?请您进一步解释一下。我的意思是,您可以绘制多帧2d散点图,其中每帧仅包含具有特定范围的z
值的点:例如,第一帧仅包含具有0的点。我需要的是根据生成的数据绘制具有不同颜色和形状的每个变量。然后使用o在我建议的其他软件包中,这是最简单的解决方案。
###################################################################
df = data.frame(
sh_of = ifelse(U < 0.3, "Gumbel", ifelse( U < 0.5, "Clayton", "Frank")),
x = X[, 1],
y = X[, 2],
z = X[, 3]
)
ggplot(df, aes(x = x, y = y,z=z, colour = sh_of, shape = sh_of)) +
geom_point()+scale_shape_manual(values=c(12,25,14)) + ggtitle("")+theme(plot.title = element_text(family = "Trebuchet MS", color="black", face="italic", size=15, hjust=0.5))