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("A12.txt", header = TRUE)
Dados
##        Amostra   X   Y    Z      A     B     C Esfericidade
## 1     FQA12-10 164 178 -145  49.49 36.12 27.94         0.75
## 2     FQA12-11 134 187 -147  43.46 28.15 14.93         0.61
## 3     FQA12-13  89 141 -159  45.12 35.09 21.47         0.72
## 4     FQA12-14 147  15 -142 118.19 45.29 34.19         0.48
## 5     FQA12-16 124  50 -146  97.90 52.11 31.68         0.56
## 6     FQA12-18 132  61 -146  75.14 55.98 38.59         0.73
## 7     FQA12-19 115  70 -146  75.37 72.89 52.18         0.88
## 8     FQA12-20  98  68 -146  76.26 70.72 51.03         0.85
## 9     FQA12-21  93  83 -168 126.03 99.74 51.71         0.69
## 10    FQA12-24 123  15 -146 120.50 75.20 69.71         0.71
## 11   FQA12-9-1 172 128 -160  53.91 51.16 30.26         0.81
## 12   FQA12-9-2 161 122 -160  51.08 25.92 19.13         0.58
## 13   FQA12-9-3 171 122 -160 104.37 52.35 50.61         0.63
## 14  FQA12-12-1 110 139 -157  32.78 30.95 18.51         0.81
## 15  FQA12-12-2 121 140 -157  42.08 33.23 26.96         0.80
## 16  FQA12-12-3 116 129 -157  65.92 37.15 30.94         0.64
## 17  FQA12-17-1 100  10 -146 243.91 59.96 54.52         0.38
## 18  FQA12-17-2 100  10 -151  86.32 41.11 23.95         0.51
## 19  FQA12-17-9 100  16 -151  78.41 35.25 19.24         0.48
## 20 FQA12-17-13 100  14 -151  57.31 54.06 25.86         0.75
## 21 FQA12-17-14 100  10 -151  69.83 28.86 26.89         0.55
## 22 FQA12-17-46 100  12 -151  43.11 38.08 21.05         0.76
## 23 FQA12-17-48 104  10 -150  17.75 16.72  8.93         0.78
## 24  FQA12-22-1  77 130 -168  70.63 53.91 21.10         0.61
## 25  FQA12-22-2  83 126 -171 111.77 91.23 65.86         0.79
## 26  FQA12-22-3  82 109 -170  52.16 47.25 24.61         0.76
## 27  FQA12-22-4  84 116 -170  56.57 51.22 43.14         0.88
## 28  FQA12-22-5  97 140 -168  44.94 25.86 17.97         0.62
## 29  FQA12-22-6 100 145 -170  46.01 20.48 12.78         0.50
## 30  FQA12-22-7 108 151 -170  44.11 22.30 13.75         0.54
## 31  FQA12-22-8  97 153 -170  26.54 19.59 17.34         0.79
## 32  FQA12-22-9 103 153 -170  33.73 21.72 12.11         0.62
## 33 FQA12-22-10 110 147 -170  30.96 12.69 11.30         0.53
## 34 FQA12-22-11 108 144 -170  40.25 24.94 15.41         0.62
## 35 FQA12-22-12  78 116 -170  48.95 36.57 21.58         0.69
## 36 FQA12-22-13 100 150 -170  38.03 24.08 22.76         0.73
## 37 FQA12-22-14 103 140 -170  37.89 29.95 24.60         0.80
## 38 FQA12-22-15  79 112 -170  47.52 46.29 27.47         0.83
## 39 FQA12-22-16 101 152 -170  28.92 21.50 20.44         0.81
## 40 FQA12-22-17 100 134 -168  71.26 53.45 36.84         0.73
## 41 FQA12-22-18 105 147 -170  36.53 15.49 13.36         0.54
## 42 FQA12-22-19 108 134 -168  52.35 26.57 19.44         0.58
## 43 FQA12-22-20 108 136 -168  54.72 23.63 21.60         0.56
## 44  FQA12-23-1  94  38 -148  93.09 61.75 37.03         0.64
## 45  FQA12-23-2  87  38 -149  46.70 22.16 13.34         0.52
## 46  FQA12-23-3  90  36 -149  45.60 24.57 16.42         0.58
## 47  FQA12-23-4  92  47 -148 118.20 58.95 48.30         0.59
## 48   FQ12-24-1 128  11 -149  47.44 27.18 12.79         0.54
## 49   FQ12-24-4 119  11 -149  43.77 32.00 21.18         0.71
## 50   FQ12-24-5 132  13 -150  48.14 34.01 32.46         0.78
## 51   FQ12-24-6 131  14 -150  40.49 21.63 10.32         0.52
## 52   FQ12-24-7 122  20 -150  41.91 21.63 14.26         0.56
## 53   FQ12-24-8 132  27 -148  56.87 20.08 10.76         0.41
## 54   FQ12-24-9 123  15 -151  23.95 22.77  9.81         0.73
## 55  FQ12-24-10 112  20 -147  62.02 47.47 36.16         0.77
## 56  FQ12-24-11 121  15 -150  35.10 20.04 11.95         0.58
## 57   FQ12-25-1  99  93 -170  54.85 44.58 22.15         0.69
## 58   FQ12-25-2  90  95 -171  51.52 40.21 11.50         0.56
## 59   FQ12-25-3 100  98 -170  43.92 29.71 17.10         0.64
## 60   FQ12-25-4 100  94 -170  33.22 25.04 14.37         0.69
## 61   FQ12-25-5  95 100 -168 112.52 96.15 51.20         0.73
## 62   FQ12-26-1 148 144 -168  46.47 25.36 23.22         0.65
## 63   FQ12-26-2 153 150 -168  38.82 34.36 19.55         0.77
## 64   FQ12-26-3 149 163 -168  45.42 26.47 12.04         0.54
## 65   FQ12-26-4 140 151 -168  42.33 22.21 20.81         0.64
## 66   FQ12-26-5 145 166 -168  42.54 23.12 21.44         0.65
## 67   FQ12-26-7 140 141 -168  39.96 26.51 18.48         0.68
## 68   FQ12-26-8 158 164 -168  34.36 19.48 13.53         0.61
## 69   FQ12-26-9 141 157 -168  41.98 25.40 20.12         0.66
## 70  FQ12-26-10 156 156 -168  42.15 17.65 13.93         0.52
## 71  FQ12-26-11 150 166 -168  38.66 26.18 15.23         0.65
## 72  FQ12-26-12 154 157 -168  40.44 17.62  9.34         0.47
## 73  FQ12-26-13 161 155 -168  26.55 25.80  9.06         0.69
## 74  FQ12-26-14 148 133 -168  30.99 16.69  8.30         0.53
## 75  FQ12-26-16 148 156 -168  31.74 19.66 17.25         0.70
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 A12", 
    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