Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

477
Vistas
Sin contornos en contenedores de histogramas de Matplotlib o diagramas de distribución de Seaborn

Mientras hacía algunos problemas de práctica con seaborn y un cuaderno Jupyter, me di cuenta de que los gráficos distplot() no tenían los contornos más oscuros en los contenedores individuales que tienen todos los gráficos de muestra en la documentación. Intenté crear los gráficos usando Pycharm y noté lo mismo. Pensando que era un problema nacido en el mar, probé algunos gráficos hist() usando matplotlib, solo para obtener los mismos resultados.

 import matplotlib.pyplot as plt import seaborn as sns titanic = sns.load_dataset('titanic') plt.hist(titanic['fare'], bins=30)

arrojó el siguiente gráfico:

ingrese la descripción de la imagen aquí

Finalmente me topé con el parámetro 'edgecolor' en la función plt.hist(), y configurarlo en negro funcionó. Desafortunadamente, no he encontrado un parámetro similar para usar en la función distplot() de seaborn, por lo que todavía no puedo obtener un gráfico que se vea como debería.

Busqué cambiar los rcParams en matplotlib, pero no tengo experiencia con eso y el siguiente script que ejecuté parecía no hacer nada:

 import matplotlib as mpl mpl.rcParams['lines.linewidth'] = 1 mpl.rcParams['lines.color'] = 'black' mpl.rcParams['patch.linewidth'] = 1 mpl.rcParams['patch.edgecolor'] = 'black' mpl.rcParams['axes.linewidth'] = 1 mpl.rcParams['axes.edgecolor'] = 'black'

Solo estaba adivinando el valor que se suponía que debía cambiar, pero ejecutar mis gráficos nuevamente no mostró cambios.

Luego intenté volver a la configuración predeterminada usando mpl.rcdefaults() pero, una vez más, no hubo cambios.

Reinstalé matplotlib usando conda pero aún así los gráficos se ven iguales. Me estoy quedando sin ideas sobre cómo cambiar el color de borde predeterminado para estos gráficos. Estoy ejecutando las últimas versiones de Python, matplotlib y seaborn usando la compilación Conda.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como parte de la actualización de matplotlib 2.0, los bordes de los gráficos de barras están desactivados de forma predeterminada . Sin embargo, puede usar el rcParam

 plt.rcParams["patch.force_edgecolor"] = True

para activar los bordes globalmente.

Probablemente, la opción más fácil es establecer específicamente el color del borde al crear una trama marina, usando el argumento hist_kws ,

 ax = sns.distplot(x, hist_kws=dict(edgecolor="k", linewidth=2))

Para diagramas de matplotlib, puede usar directamente el argumento edgecolor o ec .

 plt.bar(x,y, edgecolor="k") plt.hist(x, edgecolor="k")

Igualmente, para las parcelas de pandas,

 df.plot(kind='hist',edgecolor="k")

Un ejemplo marino completo:

 import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.randn(100) ax = sns.distplot(x, hist_kws=dict(edgecolor="k", linewidth=2)) plt.show()

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar

0

A partir de marzo de 2021:

 sns.histplot(data, edgecolor='k', linewidth=2)

trabaja. Usando hist_kws=dict(edgecolor="k", linewidth=2) dio un error:
AttributeError: 'PolyCollection' object has no property 'hist_kws'

over 4 years ago · Santiago Trujillo Denunciar

0

Usar los estilos disponibles en seaborn también podría resolver su problema. Los estilos disponibles en seaborn son:

  1. garrapatas
  2. oscuro
  3. cuadrícula oscura
  4. blanco
  5. rejilla blanca
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda