3D三元散点图

时间:2019-06-23 18:24:23

标签: r plot ternary dirichlet

我希望能够创建四个组成变量的图。第四个变量就是1.0减去前三个变量。

library(DirichletReg)

#remove(list=ls())

set.seed(1)
A<-runif(100,0,0.25)
B<-runif(100,0,0.25)
C<-runif(100,0,0.25)
D<-(1.0-(A+B+C))
POINT<-c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20))
df<-data.frame(cbind(A,B,C,D,POINT))

我可以生成一些质量很好的三个变量的图,但是要进行一些调整以确保子组合的总和为1.0。这不是理想的选择,它会使数据失真。另外,我想自定义每个轴的颜色。

AL<-DR_data(df[, c("A","B","C")])
plot(AL, 
    dim.labels = c("Compound A","Compound B","Compound C"),
    pch = df$POINT,
    col = df$POINT)

但是通过简单地提供完整列表,我可以生成一个交互式图,但是它缺少所需的元素:

1)符号的颜色和形状都相同
2)没有轴网格(但是在3d图中可能会造成混淆?)
3)没有轴标签

AL<-DR_data(df[, c("A","B","C","D")])
plot(AL, 
     dim.labels = c("Compound A","Compound B","Compound C","Compound D"),
     pch = df$POINT,
     col = df$POINT)

有人知道生成3d(使用4个变量)的更类似于2d(使用3个变量)的图的替代函数吗?谢谢。

编辑:我真的没有资格采用一个软件包。 )o:有谁知道替代软件包/软件来实现接近我期望的目标? CoDaPack软件接近但不是很可配置。 http://ima.udg.edu/codapack/

3D Ternary plot produced by CoDA

0 个答案:

没有答案