Рисование графика рассеяния 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))

получить

Но, честно говоря, это не кажется особенно эффективной визуализацией.

Другие вопросы по тегам