Иметь имена на сферах, созданных пакетом rgl plot3d

Есть ли способ отображать имена при использовании plot3d (rgl) в R для построения трехмерного графика, потому что трудно определить, к какой записи принадлежит сфера, когда у меня есть много сфер для построения по одной и той же координате. Например, у меня есть данные:

    x   y   z
A   0.1 -0.5    3.2
B   -1.1    1.2 0.8
C   2.0 2.1 0.6
......

plot3d(data,type="s",radius=0.025)

Но я хочу, чтобы на графике отображались имена A, B, C, так как их легче наблюдать. Или чтобы имя показывалось только тогда, когда я навожу мышь на одну конкретную сферу. Я пытался использовать разные цвета, но когда у меня около 20 сфер, кажется, что цвета закончились или цвета слишком близки, чтобы их можно было различить.


person lolibility    schedule 16.01.2013    source источник


Ответы (2)


В библиотеке rgl есть функция text3d(), которую можно использовать для построения текстов внутри plot. В этом примере показано, как отображать имена строк в виде текстов.

plot3d(data,type="s",radius=0.025)
text3d(data$x,data$y,data$z,text=rownames(data))
person Didzis Elferts    schedule 16.01.2013

Вы также можете комбинировать использование text3d с identify3d() для определения точек, которые вы хотите пометить в интерактивном режиме с помощью мыши.

person user101089    schedule 02.10.2016
comment
Не могли бы вы привести минимальный пример? У меня не работает, сюжет просто пустой :( - person R Kiselev; 03.04.2017
comment
Ок, я сам разобрался. Во-первых, вам нужно открыть 3D-график, а затем, прежде чем закрыть его, вызвать функцию identity3d(), которая должна получить те же данные. - person R Kiselev; 03.04.2017