library(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")
Dados <- read.table("B1.txt", header = TRUE)
Dados
##      Amostra   X   Y    Z      A      B      C Esfericidade
## 1    FQB1-30  68 143 -205 336.10 143.10  73.88         0.46
## 2    FQB1-31 124  22 -200  17.90  15.67   9.75         0.78
## 3    FQB1-33 134  48 -210 223.90  58.20  48.04         0.39
## 4    FQB1-34  97 101 -211 109.05  79.58  78.62         0.81
## 5    FQB1-37 136 125 -205  64.20  32.00  18.67         0.53
## 6  FQB1-35-1  94 125 -215 188.25 143.70  90.00         0.72
## 7  FQB1-35-2  88 121 -218 165.50 111.81 110.71         0.77
## 8  FQB1-35-3  92 120 -224 103.91  63.66  34.25         0.59
## 9  FQB1-29-1  93 103 -205  75.44  41.10  22.50         0.55
## 10 FQB1-29-2  95  98 -205  45.02  34.67  23.15         0.74
## 11 FQB1-29-3 100  98 -205  36.40  23.37  15.88         0.66
## 12 FQB1-29-4 102 106 -205  23.75  19.04  12.76         0.76
## 13 FQB1-29-5 103 100 -205  22.67  22.05  14.83         0.86
nome_coluna <- "Esfericidade"
Dados$Valores_Numéricos <- as.numeric(as.character(Dados[[nome_coluna]]))

plot3d <- plot_ly(
  data = Dados, 
  x = ~X, 
  y = ~Y, 
  z = ~Z, 
  text = ~Amostra, 
  type = "scatter3d", 
  mode = "markers",
  marker = list(
    color = ~Esfericidade,   # Define a variável contínua aqui dentro
    colorscale = "Viridis",       # O plotly interpreta corretamente aqui
    size = 7, 
    opacity = 0.8,
    colorbar = list(title = "Esfericidade")
  ),
  hoverinfo = "text+x+y+z"
) %>% 
  layout(
    title = "Posição espacial das amostras na quadra B1", 
    scene = list(
      xaxis = list(title = "X"), 
      yaxis = list(title = "Y"), 
      zaxis = list(title = "Z")
    ), 
    hoverlabel = list(bgcolor = "white", font = list(size = 12))
  )

# Exibir o gráfico
plot3d