отображать метки точек в scatter3d - PullRequest
0 голосов
/ 01 октября 2018

Я построил трехмерный график рассеяния в R, используя функцию scatter3d.Теперь я хочу нанести метки на каждую точку в трехмерном разбросе, например, чтобы каждая точка имела свой идентификатор рядом с ней, т. Е. «1», «2» и т. Д.

Вот что я пробовал:

library("car")
library("rgl")
scatter3d(geometry[,1],geometry[,2],geometry[,3] , surface=FALSE, labels = rownames(geometry), id.n=nrow(geometry))

В этом руководстве говорится, что при добавлении аргументов labels=rownames(geometry), id.n=nrow(geometry) должны отображаться метки на каждой точке, но это не сработало.

EDIT:

Я загрузил файл координат здесь , вы можете прочитать его следующим образом

geometry = read.csv("geometry.txt",sep = " ")
colnames(geometry) = c("x","y","z")

РЕДАКТИРОВАТЬ:

На самом деле, даже пример из учебника не помечает точкии не производит отображаемый сюжет.Возможно, с пакетом что-то не так.

scatter3d(x = sep.l, y = pet.l, z = sep.w, 
          surface=FALSE, labels = rownames(iris), id.n=nrow(iris))

1 Ответ

0 голосов
/ 01 октября 2018

Я могу дать вам быстрое решение, если вы хотите использовать любую другую функцию, кроме scatter3d.Это может быть достигнуто с использованием plot3d и text3d.Я предоставил основной блок кода того, как это можно реализовать.Вы можете настроить его под свои нужды.

plot3d(geometry[,1],geometry[,2],geometry[,3])
text3d(geometry[,1],geometry[,2],geometry[,3],rownames(geometry))
points3d(geometry[,1],geometry[,2],geometry[,3], size = 5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...