La librería gghighlight
te permite resaltar aquellos datos que realmente importan.
🎯 Si trabajas con gráficos complejos en ggplot2
donde muchas curvas o puntos compiten por atención, la librería gghighlight
te permite resaltar aquellos datos que realmente importan.
📌 En esta publicación aprenderás a:
✅ Resaltar curvas individuales en gráficos de líneas.
✅ Destacar puntos relevantes en scatter plots.
✅ Utilizar gghighlight
con condiciones dinámicas y automáticas.
#install.packages(c("ggplot2", "gghighlight", "readr", "readxl", "dplyr"))
library(ggplot2)
library(gghighlight)
library(readr)
library(readxl)
library(dplyr)
Resaltaremos la producción de petróleo del pozo HOMOL-1 para compararla visualmente con otros pozos.
# Cargar datos de producción
prod_df <- read_csv("Production_Data.csv")
# Convertir fecha y filtrar solo petróleo
prod_df$Date <- as.Date(prod_df$Date, format = "%d/%m/%Y")
prod_oil <- prod_df %>% filter(Fluid == "Qo")
# Gráfico con gghighlight
ggplot(prod_oil, aes(x = Date, y = Rate, color = Well)) +
geom_line(size = 0.8) +
gghighlight(Well == "HOMOL-1") +
labs(title = "Producción de Petróleo - Pozos HOMOL",
subtitle = "Resaltando pozo HOMOL-1",
x = "Fecha", y = "Tasa de Producción (bbl/d)") +
theme_minimal()
📌 Explicación:
gghighlight(Well == “HOMOL-1”) → Resalta únicamente el pozo deseado.
Ideal para exploraciones rápidas sin necesidad de crear múltiples filtros.
En este ejemplo usaremos datos de núcleos para crear un scatter plot y resaltar el pozo WELL_3.
# Leer archivo Excel Core_data.csv
core_data <- read_csv("Core_data.csv")
# Gráfico de dispersión
ggplot(core_data, aes(x = POROSITY, y = PERMEABILITY, color = WELL)) +
geom_point(size = 2) +
scale_y_log10() +
gghighlight(WELL == "2") +
labs(title = "Relación Porosidad vs Permeabilidad",
subtitle = "Resaltando datos del pozo WELL_2",
x = "Porosidad", y = "Permeabilidad (mD)") +
theme_minimal()
📌 Explicación:
geom_point() → Scatter plot tradicional.
gghighlight() → Enfatiza un subconjunto sin alterar el resto del gráfico.
gghighlight también puede resaltar de forma automática las curvas con mayor valor máximo de producción.
# Crear gráfico resaltando automáticamente curvas con máximo Rate > 8000
ggplot(prod_oil, aes(x = Date, y = Rate, group = Well, color = Well)) +
geom_line() +
gghighlight(max(Rate) > 8000, use_direct_label = TRUE) +
labs(title = "Pozos con Producción Máxima > 8000 bbl/d",
x = "Fecha", y = "Producción (bbl/d)") +
theme_minimal()
📌 Explicación:
max(Rate) > 8000 → Condición evaluada por grupo.
use_direct_label = TRUE → Añade etiquetas automáticamente a las líneas resaltadas.
🔹 gghighlight simplifica la visualización de grandes volúmenes de datos permitiendo enfocar la atención del lector en lo que realmente importa.
🔹 Útil en proyectos con múltiples pozos, propiedades petrofísicas o resultados de simulaciones.