library(plotly)
# Creating a hypothetical dataset
set.seed(123)
monitoring_data <- data.frame(
Longitude = rnorm(100, mean = 12, sd = 2),
Latitude = rnorm(100, mean = 34, sd = 1),
Pollutant_Concentration = rnorm(100, mean = 25, sd = 5)
)
# Calculating the point estimate for population
point_estimate <- mean(monitoring_data$Pollutant_Concentration)
plot_ly(monitoring_data,
x = ~Longitude,
y = ~Latitude,
z = ~Pollutant_Concentration,
color = ~Pollutant_Concentration,
size = ~Pollutant_Concentration,
type = "scatter3d",
mode = "markers",
marker = list(colorbar = list(title = "Concentration"),
line = list(color = "red", width = 2),
size = 5),
text = ~paste("Concentration: ", round(Pollutant_Concentration, 2)),
showlegend = FALSE) %>%
add_trace(x = mean(monitoring_data$Longitude),
y = mean(monitoring_data$Latitude),
z = mean(monitoring_data$Pollutant_Concentration),
type = 'scatter3d',
mode = 'markers',
marker = list(color = "red", size = 7, symbol = 4),
text = "Point Estimate") %>%
colorbar(title = "Concentration", colors = 'Viridis') %>%
layout(scene = list(title = "3D Scatter Plot - Pollutant Concentration Across the City",
xaxis = list(title = "Longitude"),
yaxis = list(title = "Latitude"),
zaxis = list(title = "Pollutant Concentration")),
margin = list(l = 0, r = 0, b = 0, t = 0))
## Warning: `line.width` does not currently support multiple values.
## Warning: `line.width` does not currently support multiple values.