MatPlotLib
Matplotlib
É um pacote python que nos permite criar gráficos, porém, eles serão criados via código python! É possível criar dashboards inteiras apenas com essa biblioteca.
Vamos instalar as dependências do matplotlib
pip install matplotlib==3.7.1
Importando o MatPlotLib para utilização do mesmo
import matplotlib as mpl
mpl.__version__
'3.7.1'
Caso seja preciso, faça isso:
pip install "numpy<2"
Vamos importar o pacote do pyplot da biblioteca do matplotlib!
# O pyplot é um pacote dentro do matplotlib!
import matplotlib.pyplot as plt
%matplotlib inline
Gráfico de Linha
O método plot define os eixos do gráfico
plt.plot([1,3,5], [2,4,7])
plt.show()

com apenas 2 linhas de código é possível criar um gráfico de forma prática
Mais um gráfico de linha
x = [2,3,5]
y = [3,5,7]
# passamos como parâmetro as listas
plt.plot(x,y)
# Damos um título pro eixo X
plt.xlabel('Variável 1')
# Damos um título pro eixo Y
plt.ylabel('Variável 2')
# Damos um título pro Gráfico em si
plt.title('Teste Plot')
# Exibir o gráfico
plt.show()
out:

Gráfico de Barras
Criando um gráfico de barras
x1 = [2,4,6,8,10]
y1 = [6,7,8,2,4]
# Para criar o gráfico de barras, é preciso declarar o '.bar'
plt.bar(x1,y1, label = 'Barras', color = 'green')
plt.legend()
plt.show()
out:

Criando dois gráficos de barras na mesma área de plotagem
x2 = [1,3,5,7,9]
y2 = [7,8,2,4,2]
plt.bar(x1,y1, label = 'Listas1', color = 'blue')
plt.bar(x2,y2, label = 'Listas2', color = 'red')
plt.legend()
plt.show()
out:

Como chamamos o método bar duas vezes, ele cria dois gráficos na mesma área de plotagem! Pode parecer que é apenas 1 gráfico, mas são dois que estão se combinando!
Criando um gráfico de barras com os índices criados a partir de um range a partir da lista de valores
idades = [22, 65, 45, 55, 21, 22, 34, 42, 41, 4, 99, 101, 120, 122, 130, 111, 115, 80, 75, 54, 44, 64, 13, 18, 48]
# Criando um intervalo de valores com os índices da lista
ids = [x for x in range(len(idades))]
plt.bar(ids, idades)
plt.show()
out:

Criando um histograma de barras:
bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]
# Se parece com um gráfico de barra, mas não é!
# o rwidth define a largura de cada barra.
plt.hist(idades, bins, histtype = 'bar', rwidth = 0.5)
plt.show()
out:

Criando um gráfico de barras com as barras preenchidas umas com as outras
# Com o stefilled, as barras ficaram preenchidas umas com as outras.
plt.hist(idades, bins, histtype = 'stepfilled', rwidth = 0.8)
plt.show()
out:

Essa biblioteca nos permite customizar os gráficos com diversas opções! Importante sempre consultar a documentação para estudo.
URL: https://matplotlib.org/
Gráfico de Dispersão (Scatter Plot)
Criando um gráfico de dispersão
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,5,6,8,4,8]
# Para chamarmos esse gráfico, utilizamos o 'scatter'
# Esse marker é como os pontos irão ser plotados no gráfico, pode ser *, um X, entre outros.
plt.scatter(x,y, label = 'Pontos', color = 'black', marker = 'o')
plt.legend()
plt.show()
out:

Gráfico de Área Empilhada
Basicamente um gráfico de área, mas na mesma área de plotagem
Criando um gráfico de área empilhada
import matplotlib.pyplot as plt
# Dados
dias = [1, 2, 3, 4, 5]
dormir = [7, 8, 6, 7, 7]
comer = [2, 3, 4, 5, 3]
trabalhar = [7, 8, 7, 2, 2]
passear = [8, 5, 7, 8, 13]
# Criando o gráfico de áreas empilhadas
plt.stackplot(dias, dormir, comer, trabalhar, passear, colors=['m', 'c', 'r', 'k', 'b'], labels=['Dormir', 'Comer', 'Trabalhar', 'Passear'])
# Adicionando legenda e título
plt.legend(loc='upper left')
plt.title('Distribuição de Atividades ao Longo dos Dias')
plt.xlabel('Dias')
plt.ylabel('Horas')
# Exibir o gráfico
plt.show()
out:

Gráfico de Pizza (Pie Plot)
Criando um gráfico de pizza
# Aqui eu coloco os valores
fatias = [7,2,2,13]
# Aqui eu coloco os labels, ou seja, as fatias
atividades = ['dormir', 'comer', 'passear', 'trabalhar']
# crio uma lista de cores
cores = ['olive', 'lime', 'violet', 'royalblue']
# crio o pieplot, colocando os valores, as fatias, as cores, defino um ângulo para começar,
# coloco uma sombra para estilizar e então defino que a fatia comer irá ter o efeito de sendo retirada.
plt.pie(fatias, labels = atividades, colors = cores, startangle = 90, shadow = True, explode = (0,0.2,0,0))
plt.show()
out:
