Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

304
Visualizações
No se puede obtener el histograma para mostrar contenedores separados con líneas verticales

Problema extraño molesto y aún no he podido encontrar una solución en este sitio (aunque ha aparecido la pregunta)

Estoy tratando de hacer un histograma donde los contenedores tienen el 'estilo de barra' donde las líneas verticales separan cada contenedor, pero no importa lo que cambie el constructor de histtype para obtener un histograma lleno de pasos.

Aquí está mi código. Tenga en cuenta que estoy usando jupyter notebook instalado a través de anaconda con python versión 2.7.6

 import numpy as np import matplotlib.pyplot as plt x = np.random.rand((100)) bins = np.linspace(0, 2, 40) plt.title('Relative Amplitude',fontsize=30) plt.xlabel('Random Histogram') plt.ylabel('Frequency',fontsize=30) plt.hist(x, bins, alpha=0.5, histtype='bar') plt.legend(loc='upper right',fontsize=30) plt.xticks(fontsize = 20) plt.yticks(fontsize = 20) plt.show()

Eso es todo y obtengo un diagrama lleno de pasos sin líneas verticales que separen las barras. Lo que es molesto es que no tuve este problema hace un tiempo, algo claramente ha cambiado y no sé qué. También probé histype = 'barstacked'. Gracias amablemente por su ayuda

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Usando tu ejemplo:

 import numpy as np import matplotlib.pyplot as plt x = np.random.rand((100)) bins = np.linspace(0, 2, 40) plt.title('Relative Amplitude',fontsize=30) plt.xlabel('Random Histogram') plt.ylabel('Frequency',fontsize=30) plt.hist(x, bins, alpha=0.5, histtype='bar', ec='black') plt.legend(loc='upper right',fontsize=30) plt.xticks(fontsize = 20) plt.yticks(fontsize = 20) plt.show()

Lo que produce la siguiente imagen:

ingrese la descripción de la imagen aquí

La diferencia clave es el uso del argumento de palabra clave ec . Esta es la abreviatura de "color de borde". En la documentación de plt.hist dice que, además de todos los argumentos de palabras clave enumerados, plt.hist también toma argumentos de palabras clave para el inicializador de Patch . edgecolor es uno de esos argumentos de palabras clave. Es por eso que no aparece explícitamente en la documentación de plt.hist . Todas las barras en el gráfico son un objeto Patch individual, por lo que está diciendo que desea que todas las barras se dibujen con un contorno negro (o color de borde en la jerga de edgecolor ).

over 4 years ago · Santiago Trujillo Relatório

0

Funciona para mí si le doy diferentes colores al argumento edgecolor y al argumento color . Por ejemplo:

 import numpy as np import matplotlib.pyplot as plt x = np.random.rand((100)) bins = np.linspace(0, 2, 40) plt.title('Relative Amplitude',fontsize=30) plt.xlabel('Random Histogram') plt.ylabel('Frequency',fontsize=30) plt.hist(x, bins, alpha=0.5,edgecolor='black',color='steelblue', histtype='bar') plt.legend(loc='upper right',fontsize=30) plt.xticks(fontsize = 20) plt.yticks(fontsize = 20) plt.show()
over 4 years ago · Santiago Trujillo Relatório

0

Puede usar el parámetro rwidth en plt.hist . Tenga en cuenta que estoy usando matplotlib versión '3.4.2'.

rwidth: flotante o Ninguno, predeterminado: Ninguno El ancho relativo de las barras como una fracción del ancho del contenedor. Si no hay, calcula automáticamente el ancho.

 import numpy as np import matplotlib.pyplot as plt x = np.random.rand((100)) bins = np.linspace(0, 2, 40) plt.title('Relative Amplitude',fontsize=30) plt.xlabel('Random Histogram', fontsize=30) plt.ylabel('Frequency',fontsize=30) plt.hist(x, bins, rwidth=0.6, alpha=0.5, histtype='bar')# rwidth specify the width of the bars # rwidth is an number between 0 and 1 plt.xticks(fontsize=15) plt.yticks(fontsize=15) plt.xlim(0,1) plt.show()

Qué producto esta imagen (haga clic aquí)

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda