#install.packages("ggplot2")
library(ggplot2)
#install.packages("plotly")
library(plotly)
## 
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout

Componentes Básicos de ggplot2

Datos (data): El conjunto de datos que deseas graficar.

Aesthetics (aes): Mapeos de variables de los datos a características visuales (e.g., x, y, color, tamaño).

Geometría (geom): El tipo de gráfico o geometría a usar (e.g., puntos, líneas, barras).

Facetas (facets): División de los datos en subgráficos basados en una o más variables.

Estadísticas (stat): Transformaciones estadísticas de los datos.

Coordenadas (coord): Sistema de coordenadas para el gráfico.

Temas (theme): Personalización de la apariencia del gráfico.

Dataset

La base de datos mtcars es un conjunto de datos incorporado en R que contiene información sobre diferentes automóviles. Este conjunto de datos se originó en la revista Motor Trend de 1974 y proporciona datos sobre 32 automóviles de 1973-74. Es un conjunto de datos muy utilizado para demostraciones y ejemplos de análisis de datos en R.

mpg: Miles per gallon (Millas por galón)

cyl: Number of cylinders (Número de cilindros)

disp: Displacement (cu.in.) (Desplazamiento en pulgadas cúbicas)

hp: Gross horsepower (Caballos de fuerza brutos)

drat: Rear axle ratio (Relación del eje trasero)

wt: Weight (1000 lbs) (Peso en miles de libras)

qsec: 1/4 mile time (Tiempo en un cuarto de milla en segundos)

vs: Engine (0 = V-shaped, 1 = straight) (Tipo de motor: 0 = en V, 1 = en línea)

am: Transmission (0 = automatic, 1 = manual) (Transmisión: 0 = automática, 1 = manual)

gear: Number of forward gears (Número de marchas)

carb: Number of carburetors (Número de carburadores)

Creando un Gráfico Básico

Definir los Datos, Aesthetics y Geometría

Supongamos que tienes un conjunto de datos mtcars y deseas crear un gráfico de dispersión de mpg vs wt (millas por galón vs peso del automóvil):

# Cargar el conjunto de datos mtcars
data(mtcars)
# Crear un gráfico de dispersión básico
ggplot(data = mtcars, aes(x = wt, y = mpg)) + geom_point()

# Personalización ## Puedes agregar más capas y personalizar el gráfico:

ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "blue", size = 3) +            # Cambiar color y tamaño de los puntos
  labs(title = "Peso vs. Consumo de Combustible",  # Título del gráfico
       x = "Peso (1000 lbs)",                      # Etiqueta del eje x
       y = "Millas por Galón")                     # Etiqueta del eje y

# Facetado ## Para dividir el gráfico en subgráficos basados en una variable, usa facet_wrap o facet_grid:

ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  facet_wrap(~ cyl)  # Crear subgráficos por número de cilindros

# Temas ## Puedes ajustar la apariencia del gráfico utilizando theme:

ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  theme_minimal()  # Usar un tema minimalista

# Ejercicio completo

g<-ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  geom_point(aes(color = factor(cyl)), size = 3) +  #Color por número de cilindros
  labs(title = "Peso vs. Consumo de Combustible",
       x = "Peso (1000 lbs)",
       y = "Millas por Galón",
       color = "Cilindros") +                      #Leyenda de colores
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))    #Centrar el título
g

# Gráfico interactivo

interactive_plot <- ggplotly(g)
interactive_plot