Ответ 1
Вот параметр ggplot2
. Я обычно уклоняюсь от 3D-графиков, поскольку их трудно интерпретировать должным образом. Я также почти никогда не ставил 5 непрерывных переменных в том же сюжете, что и здесь...
ggplot(df, aes(x=var1, y=var2, fill=var3, color=var4, size=var5^2)) +
geom_point(shape=21) +
scale_color_gradient(low="red", high="green") +
scale_size_continuous(range=c(1,12))
Пока это немного грязно, вы можете на самом деле разумно прочитать все 5 измерений для большинства точек.
Улучшен подход к многомерному построению, если некоторые из ваших переменных категоричны. Если все ваши переменные непрерывны, вы можете превратить некоторые из них в категориальные с помощью cut
, а затем использовать facet_wrap
или facet_grid
для их создания.
Например, здесь я разбиваю var3
и var4
на квинтили и использую facet_grid
для них. Обратите внимание, что я также сохраняю эстетику цвета, а также подчеркиваю, что большую часть времени, превращая непрерывную переменную в категоричную на высокоразмерных сюжетах, достаточно хорош, чтобы получить ключевые точки (здесь вы заметите, что цвета заливки и границы хороши равномерно внутри любой ячейки сетки):
df$var4.cat <- cut(df$var4, quantile(df$var4, (0:5)/5), include.lowest=T)
df$var3.cat <- cut(df$var3, quantile(df$var3, (0:5)/5), include.lowest=T)
ggplot(df, aes(x=var1, y=var2, fill=var3, color=var4, size=var5^2)) +
geom_point(shape=21) +
scale_color_gradient(low="red", high="green") +
scale_size_continuous(range=c(1,12)) +
facet_grid(var3.cat ~ var4.cat)