La mayoría de bases de datos y hojas de cálculo pueden dar salida cómodamente tabla de datos en forma de archivo CSV ( separados por comas -valores) archivos . Mientras que los archivos CSV son útiles debido a su simplicidad y portabilidad , son ineficaces para mostrar o analizar grandes cantidades de datos. Usando Python y una biblioteca de código externo, matplotlib , un programador puede superar esta limitación mediante la conversión de los datos CSV en bruto en una lectura , gráfico visualmente atractivo adecuado para web o publicación impresa. Cosas que necesitará
Python scripting entorno
Matplotlib , 2D biblioteca conspirar
archivo CSV Python que contiene dos columnas de datos numéricos editor de texto
Mostrar más instrucciones
Representar un archivo CSV como un gráfico usando Python y Matplotlib
1
Crear un archivo CSV simple para pruebas. Un ejemplo podría ser así :
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Import las bibliotecas de Python necesarios en el archivo de código :
importar matplotlib.pyplot como pltimport csvimport sistema
3
Abra el archivo CSV y crear un objeto lector de ella. Declarar variables para definir los límites superior e inferior para la x y los valores del eje y de la gráfica :
csv_reader = csv.reader ( open ( ' test.csv ')) BigX = float ( - sys.maxint - 1 ) Bigy = float ( - sys.maxint -1 ) smallx = float ( sys.maxint ) Smally = float ( sys.maxint )
4
Itera sobre cada fila contenida en el objeto de almacenar cada lector fila como un vértice en una matriz de vértice. En el mismo bucle de comparar los valores x e y con el fin de almacenar sus límites superior e inferior. Ordenar el array de vértice y luego recorrer de nuevo. Esta tienda en vez de la x , ordenados y valores de y en matrices independientes :
verts = [ ] para la fila en csv_reader : verts.append (fila ) en caso de flotador ( row [ 0 ] ) > BigX : BigX = float ( row [ 0 ] ) si float ( row [ 1 ] ) > Bigy : Bigy = float ( row [ 1 ] ), si float ( row [ 0 ] ) < smallx : smallx = float ( row [ 0 ] ) si float ( row [ 1 ] ) < Smally : Smally = float ( row [ 1 ] ) verts.sort () x_arr = [ ] y_arr = [ ] para vert en verts : x_arr.append ( vert [ 0 ] ) y_arr.append ( vert [ 1 ] )
5
Crear un objeto FigureCanvas utilizando el objeto pyplot matplotlib importado. Añadir los ejes de la gráfica de la FigureCanvas llamando a los add_axes función y pasando una matriz de valores en forma de : a la izquierda , abajo , ancho, alto . Estos valores definen dónde se coloca el gráfico en el lienzo --- que pueden oscilar entre 0.0 y 1.0 :
fig plt.figure = () = ax fig.add_axes ( [ 0,1 , 0,1, 0,8 , 0,8 ] )
6
Formato del gráfico agregando etiquetas y definir los valores mínimo y máximo para cada eje :
ax.set_xlabel ( ' x de datos ' ) ax.set_ylabel ('y los datos ' ) ax.set_xlim ( smallx , BigX ) ax.set_ylim ( Smally , Bigy )
7
Trazar la gráfica al pasar de las dos matrices que contienen el valores x e y recuperados del archivo CSV. Personalizar el diagrama de puntos pasando de los valores opcionales, tales como color de línea (color ) o el ancho de línea ( LW ) . Muestra el gráfico terminado llamando al método Show para abrir una ventana y guardar la imagen llamando savefig para crear un archivo de mapa de bits en el disco :
ax.plot ( x_arr , y_arr , color = 'blue' , pl = 2 ) plt.show () fig.savefig ( ' prueba.png ' )