Рисование графика рассеяния 3D в г
Я хотел бы визуализировать свои данные в scatterplot3d
На моих осях X и Y я хотел бы иметь одинаковые ярлыки. Что-то вроде этого:
x<-c("A","B","C","D")
y<-c("A","B","C","D")
на оси Z я хотел бы показать сравнение между метками в X и Y
A with A
A with B
A with c
A with D
B with B
B with C
B with D
C with C
C with D
D with D
#altogether 10 values in Z
z<-c(0.25, 0.7, 0.35, 1.14, 0.85, 0.36, 0.69, 0.73, 0.023, 0.85)
Теперь я хочу нарисовать всю эту информацию на scatterplot3d
, Как я могу реализовать эту концепцию на scatterplot3d?
1 ответ
Решение
Если вы хотите построить точки, вам нужно сопоставить тройки (x,y,z)
ценности. Вы можете создать x
а также y
значения, соответствующие позициям в z
с
xx <- factor(rep(x, 4:1), levels=x)
yy <- factor(unlist(sapply(1:4, function(i) y[i:4])), levels=y)
Затем вы можете нарисовать сюжет с
library(scatterplot3d)
scatterplot3d(xx,yy,z,
x.ticklabs=c("",x,""), y.ticklabs=c("",y,""),
type="h", lwd=2,
xlim=c(0,5), ylim=c(0,5))
получить
Но, честно говоря, это не кажется особенно эффективной визуализацией.