ggplotly(
ggplot(data=df, aes(x=inversion_ads, y=ventas)) +
geom_point(size=3, color="#669bbc") +
geom_smooth(se=FALSE, color="#003049") +
geom_vline(xintercept=1400, linetype="dash", color="#780000") +
annotate("text", x=1900, y=max(df$ventas), label="Punto óptimo", color="#780000") +
theme_minimal()
)PRO-TIPS: Gráficas en R y Python
Nota: Este artículo está basado en mi video en LinkedIn, donde explico cómo crear las mejores gráficas utilizando R y Python. Te invito a verlo para una explicación más detallada!
Una de las cosas más importantes para un científico o analista de datos es saber qué tipo de gráfica utilizar y cómo mostrarla. Aquí te compartiré pro-tips sobre cómo hacer las mejores gráficas utilizando R y Python. Pero ojo, si no utilizas R o Python, igual podés hacer exactamente lo mismo en Excel, es mucho más fácil!
Dos variables numéricas
Gráfico de Dispersión (Scatterplot)
Cuando tienes dos variables numéricas, como inversión en publicidad y ventas, el mejor gráfico es el scatterplot.
Ejemplo en R
Este gráfico ha sido ejecutado en R utilizando la función ggplot. Es esencial dibujar líneas suavizadas o de tendencia para identificar patrones. En este ejemplo, la relación entre la inversión en publicidad y las ventas se muestra claramente, con una línea de tendencia que ayuda a visualizar el comportamiento general. Además, se agrega una línea vertical para destacar el punto óptimo de inversión (1400 dólares), lo que facilita la interpretación del gráfico. Finalmente, un diseño minimalista asegura que el gráfico sea claro y fácil de entender.
Gráfico de Líneas con Marcadores (lineplot)
Para datos de series temporales, como ventas a lo largo del tiempo, se recomienda un lineplot.
Ejemplo con Python
import plotly.express as px
px.line(
ts_py, x="periodo", y="sales", markers=True, labels={"sales": "Ventas"}
).update_traces(
line=dict(color="#e63946", width=1),
marker=dict(color="#1d3557", size=5)
).update_layout(
template="plotly_white"
)Este gráfico se ha creado en Python utilizando Plotly. Es ideal para visualizar datos a lo largo del tiempo. Los marcadores en la línea ayudan a identificar puntos específicos, haciendo más evidente cualquier cambio significativo o tendencia en los datos. Este tipo de gráfico es útil para mostrar cómo evolucionan las ventas a lo largo de diferentes períodos y resaltar patrones importantes.
Una variable categórica
Gráfico de barras (barplot)
Para una variable categórica, como los sentimientos en redes sociales, se recomienda un barplot.
Ejemplo con Python
px.bar(
sentiment_df, x="Frecuencia", y="Sentimiento", color="Sentimiento",
labels={"Frecuencia": "# Comentarios"}
).update_layout(
template="plotly_white",
showlegend=False
)Este gráfico es útil para mostrar la frecuencia de diferentes sentimientos en redes sociales. Es crucial ordenar la información y eliminar leyendas innecesarias para mantener el gráfico limpio y claro. Utilizar diferentes colores para cada sentimiento puede ayudar a distinguirlos fácilmente. Sin embargo, es importante no sobrecargar el gráfico con demasiados colores, especialmente si se va a utilizar en un dashboard con múltiples gráficos.
Barplot en caso de dos variables categóricas
Para comparar dos variables categóricas, es mejor usar barras agrupadas en lugar de apiladas.
Ejemplo con Python
px.bar(
sentiment_df2, x="Sentimiento", y="Frecuencia",
labels={"Frecuencia": "# Comentarios"}, facet_col="Red Social", color="Red Social"
).update_layout(
template="plotly_white",
barmode="group",
showlegend=False
).update_xaxes(
title=None,
matches=None
)Este gráfico permite comparar la frecuencia de sentimientos en diferentes redes sociales de manera clara, utilizando la técnica de faceting para separar cada red social en un subgráfico. Esto facilita la comparación entre redes sin sobrecargar un solo gráfico con demasiada información.
Una variable categórica y una numérica
Gráfico de cajas (boxplot)
Para analizar una variable categórica y una numérica, como el tiempo en aplicaciones de redes sociales, usa un boxplot.
Ejemplo con R
ggplotly(
social_df |>
ggplot(aes(x = app, y = tiempo, fill = app)) +
geom_boxplot() +
labs(x = '', y = 'Horas a la semana') +
theme_minimal() +
theme(legend.position = 'none')
)El BoxPlot muestra la mediana, cuartiles y valores atípicos, proporcionando una clara interpretación de los datos. Es ideal para identificar la distribución y los outliers. Los “bigotes” del gráfico representan los límites de los datos, mientras que los puntos fuera de los bigotes son los valores atípicos.
Gráfico de violín
Como alternativa, se puede usar un gráfico de violín para ver la densidad de los datos.
Ejemplo con R
ggplotly(
social_df |>
ggplot(aes(x = app, y = tiempo, fill = app)) +
geom_violin() +
labs(x = '', y = 'Horas a la semana') +
theme_minimal() +
theme(legend.position = 'none')
)El gráfico de violín muestra la densidad de los datos de manera visualmente atractiva. Es útil cuando se quiere ver la concentración de datos en diferentes puntos. Las “pancitas” del violín indican dónde se concentra la mayoría de los datos, proporcionando una visualización intuitiva de la distribución.
Espero que estos protips te ayuden a crear gráficos claros y efectivos para tus análisis de datos. Recuerda que la clave está en escoger el tipo de gráfico adecuado y mantenerlo limpio y minimalista. Si te gustó este artículo y querés aprender más, seguime en LinkedIn! Ahí comparto más contenido sobre data analytics.