Além do Pandas e do Seaborn, também gostaria de fornecer uma breve introdução ao matplotlib. Matplotlib é outro importante módulo e biblioteca em Python. É usado para visualização de dados. O exemplo de codificação abaixo ajudará você a começar. A documentação completa sobre matplotlib está disponível aqui: https://matplotlib.org/index.html
# importando matplotlib, matplotlib.pyplot import matplotlib import matplotlib.pyplot as plt # importando pandas e numpy , pois queremos visualizar dados armazenados em quadros de dados import pandas import numpy # importe um conjunto de dados e mostre o cabeçalho data_df = pandas.read_csv(" oica.csv",sep=",") data_df.head()
ano | país | saída | |
---|---|---|---|
0 | 2018 | Argentina | 466649 |
1 | 2018 | Áustria | 164900 |
2 | 2018 | Bélgica | 308493 |
3 | 2018 | Brasil | 2879809 |
4 | 2018 | Canadá | 2020840 |
# passo 1: criar a superfície, a figura; permite, por exemplo, definir o tamanho # a figura é como uma página; uma figura pode conter vários gráficos, ou seja, eixos plt.figure(figsize=(10,10))
<Tamanho da figura 720x720 com 0 eixos>
<Tamanho da figura 720x720 com 0 eixos>
# .subplots() retorna a figura e os eixos; # os eixos são as coordenadas básicas nas quais você plota; # conforme declarado, uma figura pode conter vários eixos plt.figure(figsize=(10,10)) plt.subplots()
(<tamanho da figura 432x288 com 1 eixo>, <matplotlib.axes._subplots.AxesSubplot em 0x257b791bb08>)
<Tamanho da figura 720x720 com 0 eixos>
# passo 2: traçar um gráfico de pontos, ou seja, gráfico de dispersão; # adicione o gráfico ao objeto de eixos plt.figure(figsize=(10,10)) plt.plot( numpy .sort(data_df["output"]),marker="o",markersize=2)
[<matplotlib.lines.Line2D em 0x257b6180108>]
# passo 3: adicionar rótulos de título e eixo; # -- definir tamanho da figura plt.figure(figsize=(20,10)) # -- criar gráfico plt.plot( numpy .sort(data_df["output"]), marcador="o", marcadorsize=6, largura da linha =2, estilo de linha ="--", color="orange") # -- set title plt.title("Números de produção anual da indústria automotiva", fontdict={"fontname":"Times New Roman", "fontsize" :32}) # -- assign xlabel plt.xlabel("data point no.", fontdict={"fontname":"Comic Sans MS",
(array([-200., 0., 200., 400., 600., 800., 1000.]), <uma lista de 7 objetos Text xticklabel>)
# uma maneira mais estruturada de trabalhar com matplotlib é trabalhar com manipuladores de referência # -- configurar alguns vetores de dados a serem plotados y1 = [1,2,3.3,5.1,7] y2 = [2,4,5,5,5, 5.75] x = range(0,len(y1)) # -- cria uma imagem vazia (ie = figure); capture um manipulador fig = plt.figure() # fig indica que esta é uma "figura" # -- crie uma subtrama na imagem vazia, ig a figura vazia; capture um manipulador ax = plt.subplot() # ax indica que este é um "axes"; os eixos são basicamente o gráfico # -- criando plotagens de linha no eixo, usando a referência do manipulador de eixos ax.plot(x, y1, label='$y1 = série 1, crescendo rápido',color="black") fontsize= 18, # -- adicionar rótulos dos eixos x e y, usando a referência do manipulador de eixos ax.set_xlabel("valores do eixo x", fontsize=14, color="vermelho") ax.set_ylabel("valores do eixo y", fontsize=14, color= "roxo") # -- adicionar legenda, por padrão dentro do quadro de plotagem ax.legend(fontsize=10) # -- adicionar uma grade ax.grid(b=True, color="blue", alpha=0.1) # -- mostre tudo plotado nesta seção até este ponto plt.show()
# vejamos agora alguns exemplos adicionais; # por exemplo, podemos fazer histogramas usando matplotlib # -- importando random para criar alguns números aleatórios import random # -- use randint() de random para criar alguns inteiros aleatórios x = [] for i in range(0,100): x.append( random.randint(a=0,b=100)) # -- cria uma figura fig = plt.figure(figsize=(10,10)) # -- adiciona eixos à figura ax = plt.subplot() # -- adiciona histograma a axes, usando o manipulador de objeto axes ax.hist(x, bins=20, histtype="bar", color="pink") # -- adiciona título ao histograma, usando o manipulador de objeto axes # -- adiciona rótulos aos eixos x e y, usando o manipulador de objetos axes ax.set_xlabel( "intervalo de valor de observação" fontsize=16, color="darkgreen") ax.set_ylabel("frequência absoluta", fontsize=16, color="darkgreen") # -- ajusta x e y tick labels, using axes object handler # -- também: ajuste os próprios tiques dos eixos x e y, usando o axes object handler ax.tick_params(axis="x", size=12, width=5, color="blue", labelsize =20, size=12, # -- mostra tudo plotado nesta seção, até este ponto plt.show()
# outro exemplo: gráfico de superfície 3D com matplotlib em Python # crédito: https://stackoverflow.com/questions/3810865/matplotlib-unknown-projection-3d-error # -- primeiro, alguns dados para plotar x = [1,2 ,3] y = [1,2,3] z = [[1,2,3], [1,2,3], [1,2,3]] # -- cria figura, usando pyplot fig = plt .figure(figsize=(10,10)) # -- criando eixos, usando pyplot de mpl_toolkits.mplot3d import axes3d, Axes3D ax = Axes3D(fig) # -- cria plotagem de superfície ax.contour(x,y,z,extend3d =Verdadeiro)
<matplotlib.contour.QuadContourSet em 0x257b7899f48>
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply