Cómo convertir un archivo CSV en un gráfico en Python

Programador en desarrollo Desarrollo de equipos Diseño de sitios web y tecnologías de codificación que trabajan en la oficina de la empresa de software

Los archivos CSV son útiles debido a su simplicidad y portabilidad, son ineficaces para mostrar o analizar grandes cantidades de datos; sin embargo, no muestran visualmente los datos.

Credito de imagen: SARINYAPINNGAM / iStock / GettyImages

La mayoría de las aplicaciones de bases de datos y hojas de cálculo pueden generar datos de tabla de manera conveniente en forma de archivos CSV (valores separados por comas). Si bien los archivos CSV son útiles debido a su simplicidad y portabilidad, no son efectivos para mostrar o analizar grandes cantidades de datos. Para superar esta limitación, un programador puede usar el lenguaje de programación Python y matplotlib para trazar datos de un archivo CSV y cree un gráfico legible y visualmente atractivo adecuado para la web o la impresión publicación.

Preparación para trazar datos CSV

Antes de trazar el archivo CSV en Python, querrá asegurarse de tener todas las herramientas necesarias y crear un archivo de prueba. Esto incluye tener Python y las bibliotecas necesarias instaladas, así como tener un archivo CSV que contiene dos columnas de datos numéricos.

Video del día

Paso 1: crear archivo de prueba

Primero, abra su editor de texto y cree un archivo CSV simple para probar. Una muestra podría verse así:

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

Paso 2: importar las bibliotecas necesarias

Ahora está listo para importar las bibliotecas de Python necesarias en su archivo de código con esta línea de código:

importar matplotlib.pyplot como plt importar csv importar sys

Trazar gráfico en Python desde CSV

Con su preparación fuera del camino, ahora puede comenzar a usar Python para dibujar un gráfico a partir de un archivo CSV.

Paso 1: crear un objeto de lector

Abra el archivo CSV y cree un objeto lector a partir de él. Declare variables para definir los límites superior e inferior de los valores de los ejes xey del gráfico:

csv_reader = csv.reader (open ('test.csv')) bigx = float (-sys.maxint -1) bigy = float (-sys.maxint -1) smallx = float (sys.maxint) smallx = float (sys .maxint)

Paso 2: iterar sobre filas

Itere sobre cada fila contenida en el objeto lector almacenando cada fila como un vértice en una matriz de vértices. En el mismo ciclo, compare los valores xey para almacenar sus límites superior e inferior. Ordene la matriz de vértices y luego vuelva a recorrerla. Esta vez almacene los valores xey ordenados en matrices separadas:

verts = [] para la fila en csv_reader: verts.append (fila) if float (fila [0])> bigx: bigx = float (fila [0]) if float (fila [1])> bigy: bigy = float ( fila [1]) si flotante (fila [0]) < smallx: smallx = float (fila [0]) if float (fila [1])

Paso 3: haz un objeto FigureCanvas

Cree un objeto FigureCanvas utilizando el objeto pyplot matplotlib importado. Agregue los ejes del gráfico a FigureCanvas llamando a la función add_axes y pasándole una matriz de valores en la forma de: left, bottom, width, height. Estos valores definen dónde se coloca el gráfico en el lienzo; pueden oscilar entre 0.0 y 1.0:

fig = plt.figure () ax = fig.add_axes ([0.1, 0.1, 0.8, 0.8])

Paso 4: formatee el gráfico

Formatee el gráfico agregando etiquetas y definiendo los valores mínimo y máximo para cada eje:

ax.set_xlabel ('x data') ax.set_ylabel ('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (smallx, bigy)

Paso 5: Trace el gráfico

Trace el gráfico pasando las dos matrices que contienen los valores xey recuperados del archivo CSV. Personalice el gráfico de líneas pasando valores opcionales como color de línea (color) o ancho de línea (lw). Muestre el gráfico terminado llamando al método show para abrir una ventana y almacene la imagen llamando a savefig para crear un archivo de mapa de bits en el disco:

ax.plot (x_arr, y_arr, color = 'blue', lw = 2) plt.show () fig.savefig ('test.png')

Consideraciones importantes para archivos

Para crear archivos que el intérprete de Python pueda leer, debe usar un editor de código o texto ascii que cree archivos de solo texto. Puede almacenar imágenes de gráficos en muchos formatos de imagen diferentes, incluidos: png, pdf, ps y svg.

Consulte la documentación de Matplotlib

Algunos aspectos de la instalación y funcionalidad de la biblioteca matplotlib varían en diferentes plataformas informáticas. Lea la documentación con atención. La biblioteca puede mostrar información numérica de muchas formas y se puede personalizar con precisión. Será necesaria una lectura minuciosa de la documentación para dominar.