Como converter um arquivo CSV em gráfico em Python

Desenvolvendo programador Desenvolvimento de equipe Desenvolvimento de sites e tecnologias de codificação trabalhando em escritório de empresa de software

Os arquivos CSV são úteis devido à sua simplicidade e portabilidade, eles são ineficazes para exibir ou analisar grandes quantidades de dados; no entanto, eles não mostram os dados visualmente.

Crédito da imagem: SARINYAPINNGAM / iStock / GettyImages

A maioria dos aplicativos de banco de dados e planilhas podem produzir dados de tabela convenientemente na forma de arquivos CSV (valores separados por vírgula). Embora os arquivos CSV sejam úteis devido à sua simplicidade e portabilidade, eles são ineficazes para exibir ou analisar grandes quantidades de dados. Para superar essa limitação, um programador pode usar a linguagem de programação Python e matplotlib para traçar dados de um arquivo CSV e criar um gráfico legível e visualmente atraente adequado para web ou impressão publicação.

Preparação para traçar dados CSV

Antes de realmente plotar o arquivo CSV em Python, você vai querer ter certeza de ter todas as ferramentas necessárias e criar um arquivo de teste. Isso inclui ter o Python e as bibliotecas necessárias instaladas, bem como um arquivo CSV que contém duas colunas de dados numéricos.

Vídeo do dia

Etapa 1: Criar arquivo de teste

Primeiro, abra seu editor de texto e crie um arquivo CSV simples para teste. Uma amostra pode ter a seguinte aparência:

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

Etapa 2: importar as bibliotecas necessárias

Agora você está pronto para importar as bibliotecas Python necessárias para seu arquivo de código com esta linha de código:

import matplotlib.pyplot as plt import csv import sys

Plotar gráfico em Python a partir de CSV

Com sua preparação fora do caminho, agora você pode começar a realmente usar Python para desenhar um gráfico de um arquivo CSV.

Etapa 1: Criar objeto Reader

Abra o arquivo CSV e crie um objeto leitor a partir dele. Declare variáveis ​​para definir os limites superior e inferior para os valores dos eixos xey do gráfico:

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)

Etapa 2: Iterar nas linhas

Itere sobre cada linha contida no objeto leitor, armazenando cada linha como um vértice em uma matriz de vértices. No mesmo loop, compare os valores xey para armazenar seus limites superior e inferior. Classifique a matriz de vértices e, em seguida, faça um loop por ela novamente. Desta vez, armazene os valores xey classificados em matrizes separadas:

verts = [] para linha em csv_reader: verts.append (linha) if float (linha [0])> bigx: bigx = float (linha [0]) if float (linha [1])> bigy: bigy = float ( linha [1]) se flutuante (linha [0]) < smallx: smallx = float (linha [0]) if float (linha [1])

Etapa 3: Faça um objeto FigureCanvas

Crie um objeto FigureCanvas usando o objeto pyplot matplotlib importado. Adicione os eixos do gráfico ao FigureCanvas chamando a função add_axes e passando um array de valores na forma de: left, bottom, width, height. Esses valores definem onde o gráfico é colocado na tela - eles podem variar de 0,0 a 1,0:

fig = plt.figure () ax = fig.add_axes ([0,1, 0,1, 0,8, 0,8])

Etapa 4: formatar o gráfico

Formate o gráfico adicionando rótulos e definindo os valores mínimo e máximo para cada eixo:

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

Etapa 5: traçar o gráfico

Trace o gráfico passando as duas matrizes contendo os valores xey recuperados do arquivo CSV. Personalize o gráfico de linha passando valores opcionais, como cor da linha (cor) ou largura da linha (lw). Exiba o gráfico finalizado chamando o método show para abrir uma janela e armazenar a imagem chamando savefig para criar um arquivo bitmap no disco:

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

Considerações importantes para arquivos

Para criar arquivos que o interpretador Python possa ler, você deve usar um texto ascii ou editor de código que crie arquivos somente de texto. Você pode armazenar imagens gráficas em muitos formatos de imagem diferentes, incluindo: png, pdf, ps e svg.

Consulte a documentação Matplotlib

Alguns aspectos da instalação e funcionalidade da biblioteca matplotlib variam em diferentes plataformas de computador. Leia a documentação com atenção. A biblioteca pode exibir informações numéricas de várias maneiras e pode ser perfeitamente personalizada. Uma leitura completa da documentação será necessária para se tornar proficiente.