arquivos A maioria dos aplicativos de banco de dados e planilhas podem convenientemente os dados da tabela de saída na forma de ( valores separados por vírgula ) CSV. Enquanto os arquivos CSV são úteis por causa de sua simplicidade e portabilidade , eles são ineficazes para a exibição ou análise de grandes quantidades de dados. Usando Python e uma biblioteca de código externo, matplotlib , um programador pode superar essa limitação , convertendo os dados brutos em CSV , um gráfico visualmente atraente legível adequado para publicação na web ou imprimir. Coisas que você precisa
ambiente de script Python
Matplotlib , 2D plotagem Python biblioteca de arquivos CSV
contendo duas colunas de dados numéricos
editor de texto
Show Mais instruções
renderização de um arquivo CSV como um gráfico usando Python e Matplotlib
1
Crie um arquivo CSV simples para o teste. Uma amostra pode ter esta aparência :
1,22,33,84,135,186,217,137.5,42.5,4.3
2
importar as bibliotecas python necessárias em seu arquivo de código :
matplotlib.pyplot importação como sys PLTImport csvimport
3
Abra o arquivo CSV e criar um objeto leitor dele. Declare as variáveis para definir os limites superior e inferior para os xey valores do eixo 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 )
4
iterar sobre cada linha contida no objeto leitor armazenar cada linha como um vértice em uma matriz de vértice. No mesmo loop comparar os valores xey , a fim de guardar os seus limites superiores e inferiores . Classificar a matriz vértice e depois percorrê-lo novamente . Esta loja tempo os xey valores ordenados em matrizes separadas :
verts = [] for linha csv_reader : verts.append (linha) se float ( row [ 0] ) > BigX : BigX = float ( row [ 0] ) se float ( row [ 1] ) > Bigy : Bigy = float ( row [ 1] ) se float ( row [ 0] ) < smallx : smallx = float ( row [ 0] ) se float ( row [ 1] ) < smally : smally = float ( row [ 1] ) verts.sort () = x_arr y_arr = [] for vert em verts []: x_arr.append ( vert [0]) y_arr.append ( vert [1] )
5
Crie um objeto FigureCanvas usando o objeto matplotlib pyplot importado. Adicionar eixos do gráfico para os FigureCanvas chamando os add_axes função e passando uma matriz de valores na forma de : esquerda, baixo, largura, altura . Estes valores definem em que o gráfico é colocada na tela --- podem variar de 0,0 a 1,0 :
fig plt.figure = ( ax ) = fig.add_axes ( [ 0,1 , 0,1 , 0,8 , 0,8 ] )
6
Formate o gráfico adicionando rótulos e definir os valores mínimo e máximo para cada eixo : (' dados y ' em
ax.set_xlabel ('x dados ') ax.set_ylabel ) ax.set_xlim ( smallx , BigX ) ax.set_ylim ( smally , Bigy )
7
Faça o gráfico , passando nas duas matrizes que contêm os valores de y recuperadas do arquivo CSV x e . Personalize o enredo linha passando em valores opcionais, tais como cor da linha (cor) ou largura de linha (PV). Mostrar o gráfico acabado , chamando o método show para abrir uma janela e armazenar a imagem chamando savefig para criar um arquivo de bitmap em disco :
ax.plot ( x_arr , y_arr , color = 'azul', lw = 2) plt.show () fig.savefig (' test.png ')