Tengo dos matrices:

Por ejemplo:

a=[1, 2, 3, 4]

b=[10, 20, 30, 40]

Y de los número que se necesita para trazar el histograma, he sabido que es fácil de trazar la curva con coordenadas le gusta esto (1,10), (2, 20) y etc. Pero, ¿cómo trazar el histograma a partir de matrices. Actualmente estoy atascado con opción a dibujar el histograma. Cualquier sugerencia sería bueno.

import matplotlib.pyplot as plt
import numpy as np
a = [([97, 99, 99, 96, 97, 98, 99, 97, 99, 99, 96, 97, 99, 99, 95,
98, 99, 97, 97, 98, 97, 96, 98, 98, 98, 98, 98, 98, 96, 98, 98, 98, 98,
98, 98, 96, 97, 97, 97, 97, 97, 96, 96, 97, 97, 96, 95, 97, 96, 97, 96, 97,
96, 95, 96, 97, 95, 95, 93, 93, 92, 93, 93, 95, 95, 94, 93, 94, 94, 95, 95, 95,
95, 96, 96, 95, 96, 96, 96, 96, 94, 95, 90, 95, 95, 95, 95,
95, 88, 94, 94, 93, 95, 95, 94, 95, 95, 95, 95, 95, 93],)]
for item in a[0]:
s = item
lengths = len(s)
s2 = [s[x:x+9] for x in xrange(0, len(s), 9)]
print s2.index(min(s2))
test = 2400+int(lengths)
xaxis=range(2400,test)
yaxis=s

A continuación es la imagen de ejemplo, el eje x es el valor de 2400 – 2500 y el eje y los valores de algún tipo de matriz.

Histograma matplotlib a partir de matrices

InformationsquelleAutor Thomas | 2011-12-18

1 Comentario

  1. 3

    Usted puede hacer un histograma en matplotlib utilizando matplotlib.pyplot.hist. Dado el código de la pregunta, donde desea que los valores en a a las frecuencias para los valores de 2400 a través de 2500, esto podría ser tan simple como hacer:

    plt.hist(range(2400, 2501), weights=a[0][0])
    plt.show()

    Haciendo que genera un histograma de a con el valor por defecto de diez contenedores, como se muestra a continuación.

    Histograma matplotlib a partir de matrices

    Hay un poco de extrañeza, sin embargo, debido a que a tiene 101 valores (es decir, el rango de trazados es de 2400 a través de 2500, ambos inclusive), por lo que el último bin obtiene el recuento de las frecuencias de once valores, mientras que los otros contenedores de obtener el recuento de las frecuencias de los diez valores. Usted puede dar a cada valor de su propia bandeja con el siguiente.

    plt.hist(range(2400, 2501), weights=a[0][0], bins=101)
    plt.show()

    Que genera la imagen de abajo.

    Histograma matplotlib a partir de matrices

    • Muestra pero no es realmente lo que necesito. Necesito que el eje x sería de valores de 2400 a 2500 y el eje y (la altura del histograma sería a partir de una matriz).
    • Añadida imagen de cómo debería ser.
    • Gracias que ayudó a

Dejar respuesta

Please enter your comment!
Please enter your name here