Aprenda a Criar Gráficos Incríveis com Matplotlib Em Python
O Matplotlib é uma biblioteca poderosa e amplamente utilizada em Python para a criação de gráficos e visualizações de dados. Desenvolvida para gerar gráficos de alta qualidade, ela oferece uma interface amigável para criar visualizações como gráficos de linha, barras, pizza, histogramas, dispersão (scatter), entre outros.
O que você vai aprender?
Explicação:
Geração de vendas: A função
gerar_vendas_diarias()
usarandom.randint()
para gerar um número aleatório de pizzas vendidas para cada sabor (entre 10 e 50) ao longo de 7 dias.Gráficos:
- Gráfico de Barras: Mostra as vendas diárias de cada sabor de pizza empilhadas para facilitar a comparação.
- Gráfico de Pizza: Exibe a distribuição percentual das vendas totais de cada sabor ao longo da semana.
- Gráfico de Linha: Mostra a evolução das vendas de cada sabor ao longo dos dias da semana.
Interação com o usuário: O programa solicita o nome da pizzaria e permite que o usuário escolha qual gráfico deseja visualizar.
Extras: O código pode ser expandido para incluir a funcionalidade de salvar os gráficos como imagens.
Passo 1: Gerando Dados de Vendas Diárias
Primeiro, criamos uma função para gerar vendas aleatórias para cada tipo de pizza durante 7 dias da semana:
import random
def gerar_vendas_diarias():
vendas_calabresa = []
vendas_mussarela = []
vendas_portuguesa = []
for i in range(7):
vendas_calabresa.append(random.randint(10, 50))
vendas_mussarela.append(random.randint(10, 50))
vendas_portuguesa.append(random.randint(10, 50))
return vendas_calabresa, vendas_mussarela, vendas_portuguesa
💡 Dica: Esses dados aleatórios trazem um toque realista ao nosso gráfico, simulando diferentes vendas de pizza ao longo dos dias.
Passo 2: Criando Gráficos de Barras
Um gráfico de barras é perfeito para comparar o volume de vendas de cada sabor de pizza:
def grafico_barras(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria):
dias = ['Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab', 'Dom']
bottom = []
# Somar as vendas de Calabresa e Mussarela para cada dia
for i in range(7):
bottom.append(vendas_calabresa[i] + vendas_mussarela[i])
plt.bar(dias, vendas_calabresa, label='Calabresa', color='red')
plt.bar(dias, vendas_mussarela, bottom=vendas_calabresa, label='Mussarela', color='yellow')
plt.bar(dias, vendas_portuguesa, bottom=bottom, label='Portuguesa', color='green')
plt.title(f"Vendas Semanais - {pizzaria}")
plt.xlabel("Dias")
plt.ylabel("Pizzas Vendidas")
plt.legend()
plt.show()
🎯 Resultado: As barras mostram claramente as vendas de cada tipo de pizza, empilhadas por dia, ajudando a visualizar rapidamente as preferências dos clientes!
Passo 3: Criando Gráficos de Pizza
Um gráfico de pizza é ideal para mostrar a distribuição total das vendas de cada sabor ao longo da semana:
def grafico_pizza(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria):
total_calabresa = sum(vendas_calabresa)
total_mussarela = sum(vendas_mussarela)
total_portuguesa = sum(vendas_portuguesa)
totais = [total_calabresa, total_mussarela, total_portuguesa]
sabores = ['Calabresa', 'Mussarela', 'Portuguesa']
plt.pie(totais, labels=sabores, autopct='%1.1f%%', colors=['red', 'yellow', 'green'])
plt.title(f"Distribuição de Vendas - {pizzaria}")
plt.show()
Passo 4: Criando Gráficos de Linha
Por último, os gráficos de linha são ótimos para visualizar a evolução das vendas ao longo da semana:
def grafico_linha(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria):
dias = ['Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab', 'Dom']
plt.plot(dias, vendas_calabresa, marker='o', label='Calabresa', color='red')
plt.plot(dias, vendas_mussarela, marker='o', label='Mussarela', color='yellow')
plt.plot(dias, vendas_portuguesa, marker='o', label='Portuguesa', color='green')
plt.title(f"Evolução das Vendas Semanais - {pizzaria}")
plt.xlabel("Dias da Semana")
plt.ylabel("Pizzas Vendidas")
plt.legend()
plt.show()
Passo 4: Criando Gráficos de Linha
Nosso código principal pede ao usuário para escolher qual gráfico deseja visualizar:
def main():
pizzaria = input("Digite o nome da pizzaria: ")
# Gerar vendas aleatórias
vendas_calabresa, vendas_mussarela, vendas_portuguesa = gerar_vendas_diarias()
# Escolha do gráfico
print("\nQual gráfico você deseja visualizar?")
print("1. Gráfico de Barras")
print("2. Gráfico de Pizza")
print("3. Gráfico de Linha")
opcao = input("Digite o número da sua escolha: ")
if opcao == '1':
grafico_barras(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria)
elif opcao == '2':
grafico_pizza(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria)
elif opcao == '3':
grafico_linha(vendas_calabresa, vendas_mussarela, vendas_portuguesa, pizzaria)
else:
print("Opção inválida. Por favor, tente novamente.")
if __name__ == "__main__":
main()
Você gostou do desafio de Python?
Clique no botão abaixo para baixar o projeto completo!