ComenzarEmpieza gratis

Usar un gráfico como leyenda

Una línea de investigación interesante en los datos de mercados de agricultores es la "afinidad con los mercados" de un estado y, en concreto, sus valores atípicos. Una manera de verlo es usando la proporción de mercados de agricultores por habitante en cada estado. Podrías mirar directamente la proporción; sin embargo, una proporción descarta la información en bruto sobre la población de un estado y el número de mercados. Un estado grande con una proporción alta podría ser más interesante que uno pequeño.

Puedes mostrar tanto la proporción como los valores brutos dibujando dos gráficos: uno de la proporción y otro de un diagrama de dispersión de número de mercados frente a población. Para simplificar tu visualización, que ahora es densa, puedes usar el gráfico de barras como leyenda, destacando estados interesantes al hacer coincidir los colores de sus barras y de sus puntos en el diagrama de dispersión.

Este ejercicio forma parte del curso

Mejora tus visualizaciones de datos en Python

Ver curso

Instrucciones del ejercicio

  • Configura dos gráficos en paralelo usando plt.subplots().
  • Asocia la columna is_selected al color tanto del gráfico de barras como del diagrama de dispersión.
  • Desactiva dodge en el gráfico de barras para que las barras ocupen toda la altura.
  • Elimina las leyendas en ambos gráficos.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))

# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
            # Disable dodge so bars are full size
            dodge = ____, 
            data = markets_by_state, ax = ax1)

# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____', 
                data = markets_by_state, ax = ax2, s = 100)

# Remove the legend for both plots
ax1.____()
ax2.____() 
plt.show() 
Editar y ejecutar código