Deseo hacer un Histograma en Matplotlib a partir de un archivo de entrada que contiene los datos en bruto (.txt). Me estoy enfrentando problemas en referencia a que el archivo de entrada. Supongo que debe ser un lugar pequeño programa. Cualquier Matplotlib gurús, alguna ayuda ?

No estoy pidiendo el código, algunas entradas me puso en el camino correcto !

OriginalEl autor Arkapravo | 2010-04-07

2 Comentarios

  1. 9

    me gustaría recomendar el uso de ‘loadtxt‘, que es, en realidad, en la Colección de la biblioteca. Hay funciones relacionadas en Matplotlib (csv2rec) pero Matplotlib es en realidad la estandarización en la loadtxt.

    He aquí cómo funciona:

    from matplotlib import pyplot as PLT
    
    with open('name_of_your_file.csv') as f:
      v = NP.loadtxt(f, delimiter=",", dtype='float', comments="#", skiprows=1, usecols=None)

    ‘v’, el objeto devuelto de ‘loadtxt’, es un n x m NumPy matriz.

    ‘loadtxt’ acepta un archivo o un descriptor de archivo. El ejemplo de arriba, que tiene la mayoría de la firma del método.
    ‘skiprows’ es un entero que especifica el número de filas a contar a partir de la parte superior que desea omitir; es común poner a «1» para saltarse la fila de encabezado; ‘usecols’ comienza a ‘0’ y se muestra una lista de recitar las columnas que desea incluir (‘None’ es el valor predeterminado, y significa «incluir a todos’). El resto de parámetros de trabajo como se esperaba.

    Para trazar un histograma de estos datos:

    from matplotlib import pyplot as PLT
    
    v_hist = NP.ravel(v)   # 'flatten' v
    fig = PLT.figure()
    ax1 = fig.add_subplot(111)
    
    n, bins, patches = ax1.hist(v_hist, bins=50, normed=1, facecolor='green')
    PLT.show()
    Muchas Gracias
    usted siempre debe usar genfromtxt en lugar de loadtxt, especialmente cuando se trata de archivos de gran tamaño, ya que tiene el mismo comportamiento por defecto, pero puede ser 20 veces más rápido.
    Asegúrese de que también puso en una declaración import numpy. Para que el código anterior funcione, se necesita tener import numpy as NP para que todo funcione. Gran respuesta!

    OriginalEl autor doug

  2. 0

    Usted no puede decir directamente matplotlib para hacer un histograma a partir de un archivo de entrada, tendrás que abrir el archivo usted mismo y obtener los datos de ella. Cómo te gustaría hacer, que depende del formato del archivo – si es solo un archivo con un número en cada línea, usted puede ir a través de cada línea, strip() espacios y saltos de línea, y el uso float() a convertir en un número.

    G: lo Hizo, pero se vuelve algo complicado !
    Cierto, y no me había dado cuenta acerca de doug solución de usar 🙂

    OriginalEl autor Daniel G

Dejar respuesta

Please enter your comment!
Please enter your name here