Gráficos pirulito | Gráficos de pirulito em Python

Conteúdo

Este artigo foi publicado como parte do Data Science Blogathon

Como a evolução dos humanos, técnicas de visualização de dados também se desenvolveram ao longo do tempo. Nos últimos tempos, melhores técnicas de visualização foram introduzidas do que nunca. Todos os dias, as pessoas inventam sua própria invenção de visualização com um objetivo final: melhorar a história por trás dos dados. Com certeza, técnicas avançadas de visualização de dados requerem mais habilidade e esforço, mas os gráficos sempre valem a pena. Mas graças ao cérebro humano, antes, o que costumava levar várias linhas de código agora é possível com a chamada de função de uma única linha. Isso explica melhor nossa afirmação de que as técnicas de visualização de dados evoluíram ao longo do tempo..

Este artigo irá discutir uma das técnicas populares e poderosas de visualização de dados amplamente utilizadas por organizações para descrever dados e como plotá-los em Python.. Como disse, traçar esses gráficos não é mais uma tarefa desafiadora. É preciso conhecer a biblioteca, as funções e argumentos envolvidos na técnica.

54792pexels-alleksana-4475278-3698816
Imagem por alleksana de Pexels

Tabela de conteúdo

  1. O que são gráficos pirulito?
  2. Como traçar um gráfico pirulito em Python?
  3. Improvise seus gráficos de pirulito
  4. Comparação de gráficos de barras e gráficos de pirulito
  5. Conclusões

O que são gráficos pirulito?

Os gráficos do pirulito consistem em uma barra e um palito que se assemelha ao palito e o doce de açúcar no topo, respectivamente. Círculos preenchidos são colocados no topo das barras, que dá a semelhança com o pirulito açucarado. O gráfico Lollipop, como o gráfico de barras, usado para comparar as diferentes classes em uma categoria. Portanto, esta é uma ótima ferramenta para visualizar a comparação entre classes. Mas, O que o torna diferente do gráfico de barras? Primeiro, torna mais fácil identificar os valores quando temos um círculo preenchido no topo. Em segundo lugar, quando temos mais aulas, vamos dizer mais do que 10, os gráficos de barras tornam-se desordenados e difíceis de serem lidos pelos usuários finais. Enquanto que, por outro lado, Os gráficos de pirulito usam as barras de largura finas, o que cria um espaço maior para mais aulas. Novamente, como gráficos de barras, podemos rastrear os pirulitos horizontalmente quando o número de classes é alto.

Gráficos de pirulito também são exigidos para mostrar as classificações entre as classes. Por exemplo, se quisermos comparar 20 diferentes modelos de carros com base em seu consumo de combustível. Em cenários semelhantes, Os gráficos Lollipop são úteis para fazer o trabalho de forma eficiente e fornecer gráficos mínimos.

26927pexels-fauxels-3183153-6439916

Imagem fauxels de Pexels

Como traçar um gráfico pirulito em Python?

Os gráficos Lollipop podem ser plotados em Python de forma eficiente usando a biblioteca Matplotlib. A biblioteca Matplotlib vem com uma função útil .mãe() que se destina a construir gráficos de pirulito. Vamos ver como isso funciona.

1. Importação de bibliotecas

import matplotlib.pyplot as plt
importar numpy como np

2. Criação de dados aleatórios

x = ['UMA', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'EU', 'J']
y = por exemplo, linspace(1, (np.log(0.2 * np.pi)), 10)

3. Trace o gráfico de pirulito

plt.stem(x, e, use_line_collection = True)
plt.show()

Sobre plt.stem (), definimos o argumento use_line_collection para True. Isso adicionará linhas individuais no gráfico como LineCollection. Se não especificarmos este argumento, dará um UserWarning e nos lembrará de definir o argumento como True. Isso aumenta o desempenho do Stem Plot.

4. Juntando tudo

import matplotlib.pyplot as plt
importar numpy como np
x = ['UMA', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'EU', 'J']
y = np.random.random(1, (np.log(0.2 * np.pi)), 10)
plt.stem(x, e, use_line_collection = True)
plt.show()
42006l1-9239754

Gráfico de pirulito básico (Fonte: PC)

Improvise seus gráficos de pirulito

Os gráficos do pirulito podem ser melhorados adicionando argumentos para .mãe() aumentando a legibilidade e as capacidades de descrição de dados. Poucas improvisações que podem ser feitas são:

UMA. Adicionando argumentos adicionais:

import matplotlib.pyplot as plt
importar numpy como np
x = ['UMA', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'EU', 'J']
y = por exemplo, linspace(1, (np.log(0.2 * np.pi)), 10)
plt.stem(x, e, marcadorfmt ="s", linefmt ="--", basefmt =":", use_line_collection = True)
plt.show()

Ao executar este código, nós obtemos:

6945912-8024298

Gráfico pirulito com argumentos adicionais (fonte: computador pessoal)

Aqui, fizemos três modificações:

UMA. Formato Maker – Nós especificamos marcadorfmt = ‘s’, isso substituiu o círculo preenchido de nosso gráfico de pirulito para quadrado (s refere-se ao quadrado)

B. Formato de linha – Nós especificamos linefmat = ‘-‘, isso substituiu a haste de nosso gráfico de pirulito por uma linha de dois pontos. (- refere-se ao traço duplo)

C. Formato de linha de base – Nós especificamos basefmt = ‘:’, isso substituiu a linha de base do nosso gráfico de pirulito para o cólon.

2. Classificação da tabela Lollipop

import matplotlib.pyplot as plt
importar numpy como np
x = ['UMA', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'EU', 'J']
y = lista(por exemplo, linspace(1, (np.log(0.2 * np.pi)), 10))
y.sort()
plt.stem(x, e, marcadorfmt ="s", linefmt ="--", basefmt =":", use_line_collection = True)
plt.show()

Ao executar este código, nós obtemos:

5869713-9213932

Gráfico de pirulito ordenado com argumentos adicionais (fonte: computador pessoal)

Lembre-se de que aqui codificamos os rótulos X. Portanto, Os rótulos X não estão associados a nenhum valor. E é por isso que ao ordenar os valores, rótulos ficam no mesmo lugar.

3. Traçando um gráfico de paleta horizontal

import matplotlib.pyplot as plt
importar numpy como np
x = ['UMA', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'EU', 'J']
y = lista(por exemplo, linspace(1, (np.log(0.2 * np.pi)), 10))
y.sort()
my_range = range(1,len(x)+1)
plt.hlines(y = x, xmin = 0 , xmax = y, color ="céu azul")
plt.plot(e, x, "o")
plt.show()

Ao executar este código, nós obtemos:

2124914-4200757

Gráfico de paleta horizontal (Fonte: computador pessoal)

Aqui, usamos o método .hlines () para traçar as varetas horizontais do gráfico Lollipop, e o açúcar é plotado usando o método .plot () especificando o marcador como “o”.

Comparação de gráficos de barras e gráficos de pirulito

Vamos comparar o gráfico de barras e o Lollipop com um exemplo para determinar qual se encaixa bem com nosso exemplo. Aqui, vamos traçar os subplots para o gráfico de barra horizontal e o gráfico de paleta horizontal para comparar as figuras lado a lado. Geramos dados aleatórios usando a biblioteca NumPy. No eixo Y, nós usamos o distância() função e converteu cada rótulo em uma string.

import matplotlib.pyplot as plt
importar numpy como np
x = lista(mapa(str, faixa(1, 35)))
y = lista(np.random.random(34))
f, axs = plt.subplots(1,2,figsize =(12,6))
machados[0].barh(x,e)
machados[1].hlines(y = x, xmin = 0 , xmax = y, color ="céu azul")
machados[1].enredo(e, x, marcador = "o", largura de linha = 0)
plt.show()

Ao executar este código, nós obtemos:

2550817-9466640

Comparação de gráfico de barra horizontal e gráfico de paleta horizontal (Fonte: computador pessoal)

Portanto, ler os dados é bem mais fácil no gráfico de paleta horizontal do que no gráfico de barra horizontal. Pode-se facilmente classificar os valores e comparar as classes dentro. O que mais, um maior número de classes em uma categoria pode saturar o eixo de classes. Portanto, um tipo de diagrama não deve ser considerado para um problema. Traçar gráficos diferentes para um problema e selecionar o melhor é uma decisão mais inteligente.

Observação: Aqui estamos usando o método .random () de NumPy aleatório. Cada vez que executamos o código, irá produzir um conjunto diferente de valores. Portanto, você obterá gráficos diferentes cada vez que executarmos o código.

Conclusões

Neste artigo, aprendemos como construir um gráfico Lollipop básico em Python. Mas o assunto não termina aqui. Há uma série de modificações que podem ser feitas em seus gráficos de pirulito. As que aprendemos anteriormente são as modificações mais básicas que podem ser feitas com menos esforço. Hoje em dia, muitas ferramentas de BI e linguagens de programação são capazes de criar visualizações avançadas, como Lollipop Charts. De fato, a .mãe() O método matplotlib é inspirado no método raiz MATLAB. Podemos chamar os gráficos Lollipop de o caso especial do gráfico de barras. Também discutimos quais erros evitar ao construir um gráfico de pirulito.. Você pode tentar construir sua própria versão dos gráficos de pirulito porque você sempre aprende tentando.

Sobre o autor

Conecte-se comigo no LinkedIn Aqui.

Confira meus outros artigos aqui

Você pode me fornecer seus comentários valiosos no LinkedIn.

Obrigado por nos dar seu tempo!

A mídia mostrada neste artigo do gráfico Lollipop não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.