Pitão

Python Matplotlib Tutorial

Python Matplotlib Tutorial
Nesta lição sobre a biblioteca Python Matplotlib, veremos vários aspectos dessa biblioteca de visualização de dados que podemos usar com Python para gerar gráficos bonitos e intuitivos que podem visualizar os dados de uma forma que a empresa deseja de uma plataforma. Para completar esta lição, cobriremos as seguintes seções:

O que é Python Matplotlib?

O matplotlib.pyplot é um pacote de plotagem de gráfico que pode ser usado para construir gráficos bidimensionais usando a linguagem de programação Python. Devido à sua natureza conectável, este pacote pode ser usado em quaisquer aplicativos GUI, servidores de aplicativos da Web ou scripts Python simples. Alguns kits de ferramentas que estendem a funcionalidade do Python Matplotlib são:

Apenas uma observação antes de começar é que usamos um ambiente virtual para esta lição que fizemos com o seguinte comando:

python -m virtualenv matplotlib
fonte matplotlib / bin / activate

Assim que o ambiente virtual estiver ativo, podemos instalar a biblioteca matplotlib dentro do env virtual para que os exemplos que criaremos a seguir possam ser executados:

pip instalar matplotlib

Vemos algo assim quando executamos o comando acima:

Você pode usar o Anaconda também para executar esses exemplos, o que é mais fácil. Se você deseja instalá-lo em sua máquina, veja a lição que descreve “Como instalar o Anaconda Python no Ubuntu 18.04 LTS ”e compartilhe seu feedback. Agora, vamos avançar para vários tipos de gráficos que podem ser construídos com Python Matplotlib.

Tipos de parcelas

Aqui, demonstramos os tipos de gráficos que podem ser desenhados com Python Matplotlib.

Gráfico Simples

O primeiro exemplo que veremos será de um gráfico simples. Este exemplo é usado como uma demonstração de como é simples construir um gráfico junto com personalizações simples que vêm com ele. Começamos importando matplotlib e definindo as coordenadas xey que queremos plotar:

de matplotlib importar pyplot como plt
x = [3, 6, 9]
y = [2, 4, 6]

Depois disso, podemos plotar essas coordenadas no gráfico e mostrá-lo:

plt.plot (x, y)
plt.mostrar()

Quando o executarmos, veremos o seguinte gráfico:


Com apenas algumas linhas de código, fomos capazes de traçar um gráfico. Vamos adicionar algumas personalizações para tornar este gráfico um pouco mais expressivo:

plt.título ('LH Plot')
plt.ylabel ('eixo Y')
plt.xlabel ('eixo X')

Adicione as linhas de código acima antes de mostrar o gráfico e o gráfico agora terá rótulos:

Faremos mais uma tentativa de personalizar este gráfico para torná-lo intuitivo com as seguintes linhas de código antes de mostrar o gráfico:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.título ('Informações')
plt.ylabel ('eixo Y')
plt.xlabel ('eixo X')
plt.plot (x1, y1, 'g', rótulo = 'Trimestre 1', largura de linha = 5)
plt.plot (x2, y2, 'r', label = 'Quarter 2', linewidth = 5)
plt.lenda()
plt.grade (verdadeiro, cor = 'k')
plt.mostrar()

Veremos o seguinte gráfico quando executarmos o snippet de código acima:

Observe com o que começamos e o que acabamos, um gráfico muito intuitivo e atraente que você pode usar em suas apresentações e é feito com código Python puro, definitivamente algo para se orgulhar !

Fazendo um Gráfico de Barras

Um gráfico de barras é especialmente útil quando queremos uma plataforma de comparação com medidas específicas e limitadas. Por exemplo, comparar as notas médias de alunos com uma única disciplina é um bom caso de uso. Vamos construir um gráfico de barras para o mesmo caso de uso aqui, o snippet de código para isso será:

avg_marks = [81, 92, 55, 79]
física = [68, 77, 62, 74]
plt.bar ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Média", largura =.5)
plt.bar([.75, 1.75, 2.75, 3.75], física, rótulo = "Física", cor = 'r', largura =.5)
plt.lenda()
plt.xlabel ('Intervalo')
plt.ylabel ('Marcas')
plt.título ('Comparação')
plt.mostrar()

O gráfico de barras criado com os dados de amostra acima terá a seguinte aparência:

Existem várias barras presentes aqui para estabelecer uma comparação. Observe que fornecemos a largura de cada barra como um primeiro parâmetro e a barra é deslocada 0.5 valores do anterior.

Podemos combinar esta construção de gráfico de barras com a biblioteca Pandas para personalizá-la mais, mas vamos abordá-la em uma lição diferente sobre Pandas.

Distribuições com histogramas

Histogramas são frequentemente confundidos com gráficos de barras. A diferença mais básica está em seu caso de uso. Os gráficos de barras são usados ​​para estabelecer comparações entre os dados, enquanto os histogramas são usados ​​para descrever a distribuição dos dados.

Por exemplo, vamos aplicar o exemplo para as notas dos alunos novamente, mas desta vez, vamos apenas olhar para as notas médias dos alunos e ver como elas estão distribuídas. Aqui está o snippet de código, muito semelhante ao exemplo anterior:

bins = [0,10,20,30,40,50,60,70,80,90,100]
avg_marks = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (avg_marks, bins, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Intervalo')
plt.ylabel ('Marcas')
plt.título ('Comparação')
plt.mostrar()

O histograma criado com os dados de amostra acima terá a seguinte aparência:

O eixo Y mostra aqui quantos alunos obtiveram as mesmas notas que foram fornecidas como os dados para a construção.

Fazendo um gráfico de dispersão

Quando se trata de comparar várias variáveis ​​e estabelecer seus efeitos entre si, o gráfico de dispersão é uma boa maneira de apresentar o mesmo. Neste, os dados são representados como pontos com o valor de uma variável refletido pelo eixo horizontal e o valor da segunda variável determina a posição do ponto no eixo vertical.

Vejamos um snippet de código simples para descrever o mesmo:

x = [1,1.5,2,2.5,3,3.5,3.6]
y = [75,8,85,9,95,10,75]
x1 = [8,8.5,9,9.5,10,10.5,11]
y1 = [3,35,3.7,4,45,5,52]
plt.dispersão (x, y, rótulo = '10 alunos com pontuação alta ', cor =' r ')
plt.dispersão (x1, y1, rótulo = '10 alunos com pontuação baixa ', cor =' b ')
plt.xlabel ('Marcas')
plt.ylabel ('Contagem de alunos')
plt.título ('Gráfico de dispersão')
plt.lenda()
plt.mostrar()

O gráfico de dispersão criado com os dados de amostra acima terá a seguinte aparência:

Parcelas de área

Os gráficos de área são usados ​​principalmente para rastrear mudanças nos dados ao longo do tempo. Eles também são chamados de gráficos de pilha em vários textos. Por exemplo, se queremos estabelecer uma representação do tempo investido por um aluno em cada disciplina em um único dia, aqui está o código com o qual podemos fazer o mesmo:

dias = [1,2,3,4,5]
física = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matemática = [8,5,7,8,13]
plt.plot ([], [], color = 'm', label = 'Physics', linewidth = 5)
plt.plot ([], [], color = 'c', label = 'Python', linewidth = 5)
plt.plot ([], [], color = 'r', label = 'R', linewidth = 5)
plt.plot ([], [], color = 'k', label = 'Math', linewidth = 5)
plt.stackplot (dias, física, python, r, matemática, cores = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.título ('Stack Plot')
plt.lenda()
plt.mostrar()

O gráfico de área criado com os dados de amostra acima terá a seguinte aparência:

A saída acima estabelece claramente uma diferença de tempo gasto por um aluno em cada disciplina com uma maneira clara de fornecer a diferença e a distribuição.

Gráfico de setores

Quando queremos dividir a parte inteira em várias partes e descrever a quantidade que cada parte ocupa, um gráfico de pizza é uma boa maneira de fazer esta apresentação. É usado para mostrar a porcentagem de dados no conjunto de dados completo. Aqui está um snippet de código básico para fazer um gráfico de pizza simples:

rótulos = 'Python', 'C ++', 'Ruby', 'Java'
tamanhos = [225, 130, 245, 210]
cores = ['r', 'b', 'g', 'c']
explodir = (0.1, 0, 0, 0) # explodir 1ª fatia
# Trama
plt.pizza (tamanhos, explodir = explodir, rótulos = rótulos, cores = cores,
autopct = '% 1.1f %% ', shadow = True, startangle = 140)
plt.eixo ('igual')
plt.mostrar()

O gráfico de pizza criado com os dados de amostra acima terá a seguinte aparência:

Nas seções acima, vimos vários componentes gráficos que podemos construir com a biblioteca Matplotlib para representar nossos dados em várias formas e estabelecer diferenças de uma maneira intuitiva, embora sendo estatísticos.

Recursos e alternativas para Matplotlib

Um dos melhores recursos do matplotlib é que ele pode funcionar em muitos sistemas operacionais e back-ends gráficos. Ele suporta dezenas de sistemas operacionais e saída gráfica que vimos nesta lição. Isso significa que podemos contar com isso quando se trata de fornecer uma saída da maneira que precisamos.

Existem várias outras bibliotecas presentes que podem competir com matplotlib como:

  1. Seahorn
  2. Completamente
  3. Ggplot2

Mesmo que as bibliotecas mencionadas acima possam apresentar algumas maneiras avançadas de descrever e apresentar dados de maneira gráfica, mas não há negação na simplicidade e na natureza eficaz da biblioteca matplotlib.

Conclusão

Nesta lição, vimos vários aspectos desta biblioteca de visualização de dados que podemos usar com Python para gerar gráficos bonitos e intuitivos que podem visualizar dados em uma forma que a empresa deseja de uma plataforma. O Matplotlib é uma das bibliotecas de visualização mais importantes quando se trata de engenharia de dados e apresentação de dados na maioria das formas visuais, definitivamente uma habilidade que precisamos ter sob nosso controle.

Compartilhe seus comentários sobre a lição no Twitter com @sbmaggarwal e @LinuxHint.

Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...