[ Foro de Python ]

Histograma invertido

07-Mar-2023 04:01
Invitado (Lucio)
2 Respuestas

Hola. Tengo que crear un histograma, ya lo hice, pero tengo que hacer que este este invertido, en vez de que las barras vayan de abajo hacia arriba, que vayan de arriba hacia abajo. ¿Cómo l ehago? Gracias


15-Mar-2023 00:32
Invitado (Alejandro Andrade)

Para invertir un histograma en Python, puedes simplemente imprimir los caracteres del histograma en orden inverso. Es decir, en vez de imprimir la primera fila del histograma primero y la última fila al final, se imprimiría la última fila primero y la primera fila al final.

Supongamos que tu histograma está almacenado como una lista de strings llamada 'histograma', donde cada string representa una fila del histograma. Puedes invertirlo usando el siguiente código:

for i in range(len(histograma)-1, -1, -1):
   print(histograma[i])

Este código recorre la lista 'histograma' en orden inverso, empezando por el último elemento ('len(histograma)-1') y terminando en el primero ('-1'), e imprime cada elemento en orden inverso.

Si tu histograma está representado de otra forma, como una matriz o un diccionario, tendrás que adaptar el código para que funcione con esa estructura de datos específica. Pero la idea básica es la misma: recorrer los elementos en orden inverso e imprimirlos en ese orden.


15-Mar-2023 22:30
Invitado (Alejandro Andrade)

Para invertir un histograma en Python, puedes utilizar la biblioteca 'matplotlib' y su función 'barh()', que permite crear un histograma horizontal en el que las barras van de izquierda a derecha.

Para hacer que las barras vayan de arriba hacia abajo, puedes invertir el eje Y del gráfico utilizando la función 'invert_yaxis()' de 'matplotlib'. Aquí te dejo un ejemplo de cómo hacerlo:

import matplotlib.pyplot as plt

# Datos para el histograma
datos = [1, 2, 3, 4, 5]

# Crear el histograma invertido
plt.barh(range(len(datos)), datos)
plt.gca().invert_yaxis()

# Configurar el eje Y
plt.yticks(range(len(datos)), range(len(datos)))

# Mostrar el gráfico
plt.show()

En este ejemplo, primero creamos un conjunto de datos de ejemplo para el histograma. Luego, utilizamos la función 'barh()' para crear el histograma con las barras horizontales. A continuación, utilizamos la función 'invert_yaxis()' para invertir el eje Y y hacer que las barras vayan de arriba hacia abajo. Finalmente, configuramos el eje Y para mostrar los valores de 0 a n-1, donde n es el número de barras en el histograma.

Espero que esto te sea útil. ¡Buena suerte!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)