if(!require(plotly)) install.packages("plotly")
## Carregando pacotes exigidos: plotly
## Carregando pacotes exigidos: ggplot2
## 
## Anexando pacote: 'plotly'
## O seguinte objeto é mascarado por 'package:ggplot2':
## 
##     last_plot
## O seguinte objeto é mascarado por 'package:stats':
## 
##     filter
## O seguinte objeto é mascarado por 'package:graphics':
## 
##     layout
setwd("C:/R/3D")
Data <- read.table("B1.txt", header = TRUE)
Data
##       Sample   X   Y    Z      A      B      C Sphericity
## 1    FQB1-30  68 143 -205 336.10 143.10  73.88       0.46
## 2   FQB1-30-  60 167 -207 149.69  44.54  27.28       0.38
## 3  FQB1-30-2  55 168 -207  81.24  30.16  27.99       0.51
## 4  FQB1-30-3  42 157 -208  58.59  38.08  26.00       0.66
## 5  FQB1-30-4  63 153 -209  45.18  30.39  18.49       0.65
## 6  FQB1-30-5  57 163 -209  44.47  24.84  21.66       0.65
## 7  FQB1-30-6  60 130 -207  34.35  26.59  21.42       0.79
## 8  FQB1-30-7  71 129 -206  34.25  19.92  11.00       0.57
## 9  FQB1-30-8  86 133 -207  41.19  15.71  11.57       0.48
## 10 FQB1-30-9  85 130 -205  31.33  12.13   9.51       0.49
## 11   FQB1-31 124  22 -200  17.90  15.67   9.75       0.78
## 12   FQB1-33 134  48 -210 223.90  58.20  48.04       0.39
## 13   FQB1-34  97 101 -211 109.05  79.58  78.62       0.81
## 14   FQB1-37 136 125 -205  64.20  32.00  18.67       0.53
## 15 FQB1-35-1  94 125 -215 188.25 143.70  90.00       0.72
## 16 FQB1-35-2  88 121 -218 165.50 111.81 110.71       0.77
## 17 FQB1-35-3  92 120 -224 103.91  63.66  34.25       0.59
## 18 FQB1-29-1  93 103 -205  75.44  41.10  22.50       0.55
## 19 FQB1-29-2  95  98 -205  45.02  34.67  23.15       0.74
## 20 FQB1-29-3 100  98 -205  36.40  23.37  15.88       0.66
## 21 FQB1-29-4 102 106 -205  23.75  19.04  12.76       0.76
## 22 FQB1-29-5 103 100 -205  22.67  22.05  14.83       0.86
name_column <- "Sphericity"
Data$Valores_Numéricos <- as.numeric(as.character(Data[[name_column]]))


plot3d <- plot_ly(
  data = Data, 
  x = ~X, 
  y = ~Y, 
  z = ~Z, 
  text = ~Sample, 
  type = "scatter3d", 
  mode = "markers",
  marker = list(
    color = ~Sphericity,   
    colorscale = "Viridis",       
    size = 7, 
    opacity = 0.8,
    colorbar = list(title = "Sphericity")
  ),
  hoverinfo = "text+x+y+z"
) %>% 
  layout(
    title = "Spatial position of the samples within the excavation unit B1", 
    scene = list(
      xaxis = list(title = "X"), 
      yaxis = list(title = "Y"), 
      zaxis = list(title = "Z")
    ), 
    hoverlabel = list(bgcolor = "white", font = list(size = 12))
  )

plot3d