Data Science do zero: Primeiras regras com o Python



Baixar 5.26 Mb.
Pdf preview
Página35/75
Encontro24.07.2022
Tamanho5.26 Mb.
#24344
1   ...   31   32   33   34   35   36   37   38   ...   75
Data Science do zero - Primeiras regras
Gráficos de Barra
Um gráfico de barra é uma boa escolha quando você quer mostrar como algumas
quantidades variam entre um conjunto particular de itens. Por exemplo, a Figura
3-2 mostra quantas premiações do Oscar cada uma das variedades dos filmes
ganharam:
movies = ["Annie Hall", "Ben-Hur", "Casablanca", "Gandhi", "West Side Story"]
num_oscars = [5, 11, 3, 8, 10]
# barras possuem o tamanho padrão de 0.8, então adicionaremos 0.1 às
# coordenadas à esquerda para que cada barra seja centralizada
xs = [i + 0.1 for i, _ in enumerate(movies)]
# as barras do gráfico com as coordenadas x à esquerda [xs], alturas [num_oscars]
plt.bar(xs, num_oscars)
plt.ylabel("# de Premiações")
plt.title("Meus Filmes Favoritos")
# nomeia o eixo x com nomes de filmes na barra central
plt.xticks([i + 0.5 for i, _ in enumerate(movies)], movies)
plt.show()


Figura 3-2. Um gráfico de barra simples
Um gráfico de barra também pode ser uma boa escolha para criar gráficos de
histogramas de valores numéricos carregados, a fim de explorar visualmente
como os valores são distribuídos, como na Figura 3-3:
grades = [83,95,91,87,70,0,85,82,100,67,73,77,0]
decile = lambda grade: grade // 10 * 10
histogram = Counter(decile(grade) for grade in grades)
plt.bar([x - 4 for x in histogram.keys()], # move cada barra para a esquerda em 4
histogram.values(), # dá para cada barra sua altura correta
8) # dá para cada barra a largura de 8
plt.axis([-5, 105, 0, 5]) # eixo x de –5 até 105,
# eixo y de 0 até 5
plt.xticks([10 * i for i in range(11)]) # rótulos do eixo x em 0, 10, …, 100
plt.xlabel("Decil")
plt.ylabel("# de Alunos")
plt.title("Distribuição das Notas do Teste 1")
plt.show()


Figura 3-3. Usando um gráfico de barra para um histograma
O terceiro argumento para
plt.bar
especifica a largura da barra. Aqui, escolhemos
a largura 8 (o que deixa um espaço pequeno entre as barras, já que nosso
agrupamento possui o tamanho 10). Andamos com a barra em 4, para que (por
exemplo) a barra “80” tenha seu lado esquerdo e direito em 76 e 84, e (portanto)
seu centro em 80.
A chamada para
plt.axis
indica que queremos que o eixo x varie entre –5 até 105
(para que as barras “0” e “100” sejam mostradas por completo), e que o eixo y
deveria variar de 0 até 5. A chamada para
plt.xticks
coloca os rótulos do eixo x em
0, 10, 20, …, 100.
Seja criterioso quando usar
plt.axis()
. Ao criar gráficos de barra, não começar o
eixo y em 0 é considerado ruim, já que essa é uma maneira fácil de enganar as
pessoas (Figura 3-4):
mentions = [500, 505]


years = [2013, 2014]
plt.bar([2012.6, 2013.6], mentions, 0.8)
plt.xticks(years)
plt.ylabel("# de vezes que ouvimos alguém dizer 'data science'")
# se você não fizer isso, matplotlib nomeará o eixo x de 0, 1
# e então adiciona a +2.013e3 para fora do canto (matplotlib feio!)
plt.ticklabel_format(useOffset=False)
# enganar o eixo y mostra apenas a parte acima de 500
plt.axis([2012.5,2014.5,499,506])
plt.title("Olhe o "Grande" Aumento!")
plt.show()
Figura 3-4. Um gráfico com um eixo y enganador
Na Figura 3-5, usamos eixos mais sensatos e, agora, parece menos
impressionante:
plt.axis([2012.5,2014.5,0,550])
plt.title("Não Tão Grande Agora")
plt.show()


Figura 3-5. O mesmo gráfico sem um eixo y enganador



Baixar 5.26 Mb.

Compartilhe com seus amigos:
1   ...   31   32   33   34   35   36   37   38   ...   75




©historiapt.info 2023
enviar mensagem

    Página principal