Muestreo y Mediciones Ambientales
Institución: UCE — FIGEMPA
Periodo: Cuarto Semestre 2026-2027
Autor: Grupo 1Integrantes: Paqueco Samanta, Criollo Jhonny
Basado en apuntes de F. Acevedo
Cargar librerías necesarias
Confirmar directorio de trabajo actual
## [1] "C:/Users/CESAR/Documents"
# Crear la columna con las descripciones detalladas de cada variable/muestra
datos_procesados <- read_excel("muestras_datos.xlsx") %>%
mutate(
Descripcion = case_when(
Muestras == "AF" ~ "Agua fría",
Muestras == "AC" ~ "Agua caliente",
Muestras == "AFS" ~ "Agua fría con sal",
Muestras == "ACS" ~ "Agua caliente con sal",
Muestras == "ATA" ~ "Agua temperatura ambiente",
Muestras == "ATAS" ~ "Agua temperatura ambiente con sal",
TRUE ~ Muestras
),
Color_Punto = case_when(
Muestras == "AF" ~ "blue",
Muestras == "AC" ~ "red",
Muestras == "AFS" ~ "darkturquoise",
Muestras == "ACS" ~ "orange",
Muestras == "ATA" ~ "purple",
Muestras == "ATAS" ~ "saddlebrown",
TRUE ~ "black"
)
)
# Mostrar la tabla formateada en tu reporte HTML
kable(datos_procesados, caption = "Mediciones ambientales con descripción de muestras")| Muestras | Densidad_P_g_ml | Temperatura_C | Conductividad_uS_cm | Descripcion | Color_Punto |
|---|---|---|---|---|---|
| AF | 1.0234 | 5.0 | 228.20 | Agua fría | blue |
| AC | 0.9910 | 47.0 | 271.60 | Agua caliente | red |
| AFS | 0.9880 | 7.8 | 25.59 | Agua fría con sal | darkturquoise |
| ACS | 1.0070 | 46.1 | 27.98 | Agua caliente con sal | orange |
| AF | 1.0230 | 5.0 | 228.20 | Agua fría | blue |
| ACS | 0.9730 | 50.0 | 27.98 | Agua caliente con sal | orange |
| ATA | 0.9800 | 18.3 | 249.00 | Agua temperatura ambiente | purple |
| ATAS | 0.9810 | 17.3 | 22.46 | Agua temperatura ambiente con sal | saddlebrown |
plot(
datos_procesados$Temperatura_C,
datos_procesados$Densidad_P_g_ml,
type = "p",
pch = 16, # Puntos sólidos
cex = 1.5, # Tamaño del punto
col = datos_procesados$Color_Punto, # Colores fijos definidos por fila/muestra
main = "Gráfico: Densidad vs Temperatura (Colores por Muestra)",
xlab = "Temperatura (°C)",
ylab = "Densidad (g/ml)"
)
# 2. Agregar etiquetas de texto a cada punto (opcional para identificar rápido)
text(
datos_procesados$Temperatura_C,
datos_procesados$Densidad_P_g_ml,
labels = datos_procesados$Muestras,
pos = 3,
cex = 0.8
)
# 3. Leyenda explicativa de los colores
legend(
"topright",
legend = c("Agua fría (AF)", "Agua caliente (AC)", "Fría con sal (AFS)",
"Caliente con sal (ACS)", "Ambiente (ATA)", "Ambiente con sal (ATAS)"),
col = c("blue", "red", "darkturquoise", "orange", "purple", "saddlebrown"),
pch = 16,
cex = 0.8
)# 1. Ajustar los márgenes de la ventana (el cuarto número, 6, da espacio abajo para la leyenda)
par(mar = c(7, 4, 4, 2) + 0.1)
# 2. Graficar Densidad vs Conductividad
plot(
datos_procesados$Conductividad_uS_cm,
datos_procesados$Densidad_P_g_ml,
type = "p",
pch = 16,
cex = 1.5,
col = datos_procesados$Color_Punto,
main = "Gráfico: Densidad vs Conductividad Eléctrica\nAnálisis de Muestras Ambientales - UCE FIGEMPA",
xlab = "Conductividad (µS/cm)",
ylab = "Densidad (g/ml)"
)
# 3. Agregar etiquetas de texto a los puntos
text(
datos_procesados$Conductividad_uS_cm,
datos_procesados$Densidad_P_g_ml,
labels = datos_procesados$Muestras,
pos = 3,
cex = 0.8,
font = 2
)
# 4. Colocar la leyenda de manera ordenada en la parte inferior fuera del cuadro
# xpd = TRUE permite dibujar fuera de los límites del cuadro principal
legend(
x = "bottom",
inset = -0.60, # Desplaza la leyenda hacia abajo fuera del eje X
xpd = TRUE, # Permite dibujar en los márgenes exteriores
legend = c("Agua fría (AF)", "Agua caliente (AC)", "Fría con sal (AFS)",
"Caliente con sal (ACS)", "Ambiente (ATA)", "Ambiente con sal (ATAS)"),
col = c("blue", "red", "darkturquoise", "orange", "purple", "saddlebrown"),
pch = 45,
cex = 0.7,
ncol = 5, # Organiza los elementos en 2 columnas para que se vea ordenado
bty = "n" # Sin recuadro
)plot_ly(datos_procesados,
x = ~Conductividad_uS_cm,
y = ~Temperatura_C,
z = ~Densidad_P_g_ml,
color = ~Descripcion,
colors = c("blue", "red", "darkturquoise", "orange", "purple", "saddlebrown"),
text = ~paste("<b>Muestra:</b>", Muestras,
"<br><b>Descripción:</b>", Descripcion,
"<br><b>Conductividad:</b>", Conductividad_uS_cm, "µS/cm",
"<br><b>Temperatura:</b>", Temperatura_C, "°C",
"<br><b>Densidad:</b>", Densidad_P_g_ml, "g/ml"),
hoverinfo = 'text',
type = 'scatter3d',
mode = 'markers', # <-- Solo 'markers' para limpiar el texto estorbo en el cubo
marker = list(size = 7, opacity = 0.9)) %>%
layout(
title = list(
text = "<b>Relación Tridimensional (3D)</b><br><sup>Conductividad, Temperatura y Densidad - UCE FIGEMPA</sup>",
font = list(size = 14)
),
scene = list(
xaxis = list(title = '<b>Conductividad (µS/cm)</b>'),
yaxis = list(title = '<b>Temperatura (°C)</b>'),
zaxis = list(title = '<b>Densidad (g/ml)</b>')
),
legend = list(
title = list(text = '<b>Tipo de Muestra</b>'),
x = 1.1, y = 0.8
)
)