Introdução a bibliteca Plotly
Olá pessoal, tudo bem com vocês? No artigo de hoje apresentarei a biblioteca Plotly, especificamente Plotly Express, que é uma integração da biblioteca Plotly. Vou mostrar como vocês podem criar gráficos mais bonitos e interativos. Vamos trabalhar com a base de vendas abaixo:
A base de dados possui as seguintes colunas: DataVenda, Data Envio, ID Produto, ID Subcategoria, Subcategoria, Produto, Marca, ID Cliente, País, Estado, Cidade, Custo Unitário, Preço Unitário, Quantidade, Valor Desconto e Valor Venda.
Vamos Começar?
O primeiro passo é importar as bibliotecas que iremos utilizar, você pode fazer isto utilizando o comando abaixo:
Como estamos trabalhando com o Plotly Express o apelido que damos a biblioteca por convenção é px, então sempre que a gente for utilizar o plotly express utilizaremos px em nossos códigos.
Primeiro, vamos verificar o total de vendas que foram realizadas por marca, utilizaremos o método value_counts():
o método value_counts() verifica quantas vezes cada marca aparece em nosso conjunto de dados, para colocar essa informação em um gráfico vamos criar uma nova variável para armazenar o nosso total de vendas por marca e logo em seguida criar o gráfico com o plotly express:
Criamos um gráfico de barras utilizando o método bar() e passamos a variável total_marca que contém exatamente a marca e o total vendido como vimos anteriormente, no eixo x passamos o total_marca.index que retorna os nomes das marcas e para o eixo y passamos o total_marca.values que retorna os valores, em seguida passamos o fig.show() para que o gráfico seja exibido.
Adicionando um título ao nosso gráfico
Para adicionar um título ao nosso gráfico basta passar o parâmetro title e em seguida o título que você deseja:
Adicionando o rótulo de dados
Podemos também adicionar o rótulo de dados, basta passar o parâmetro text e informar quais são os rótulos, neste caso são os valores que se encontram em total_marca.values:
Agora que já estamos familiarizados com a biblioteca, vamos verificar agora a Receita por marca, será que as marcas que mais vendem são as que estão gerando as maiores receitas?
Criamos uma nova variável com o agrupamento da marca e a soma da coluna valor venda, que é justamente a coluna com o valor final da venda, logo em seguida criamos nosso gráfico de barras, observe que a marca com a maior receita não é a marca que mais vende, o quer dizer que tem marca que vende muito mas em contrapartida são vendas de valores pequenos.
Receita por Ano
Vamos analisar agora qual foi a receita por ano, vamos criar um gráfico de pizza para retornar esta informação:
Para criar o gráfico de Pizza utilizamos o método pie() e passamos o nosso df, qual a coluna de valores para o parâmetro values e qual a coluna que queremos analisar para o parâmetro names, que neste caso extraímos apenas o ano da coluna Data Venda. Lembra que falei no ínicio deste artigo que os gráficos criados no Plotly são interativos? caso você queira analisar apenas os anos de 2017 e 2018 você pode desativar o ano de 2019 apenas clicando em cima dele lá na legenda:
Agora, vamos analisar apenas as vendas do ano de 2018 e criar um gráfico de linhas com a receita por mês:
Ao filtrar apenas os dados de 2018, criamos uma variável chamada vendas2018_mes com o agrupamento das vendas por mês e a soma da coluna Valor Venda, depois, criamos nosso gráfico utilizando o método line() do plotly express, onde passamos o eixo x, o eixo y e o título do nosso gráfico. Você também pode fazer seleções no gráfico e analisar apenas um período, como por exemplo a receita apenas do segundo semestre, para isto, basta selecionar no gráfico do mês 6 ao mês 12:
Para voltar a visão padrão você pode ir em Reset axes no menu superior:
E, se a gente quiser acrescentar a informação de Continente em nosso gráfico de linhas? Ou seja, a Receita por mês e por continente. Podemos utilizar o parâmetro color e acrescentar a coluna de continente:
Para finalizar nossa análise, vamos criar uma nova coluna em nosso conjunto de dados chamada Tempo_envio, que será o total de dias que um produto levou para ser enviado, ou seja, Data Venda - Data Envio:
Agora vamos criar um gráfico de Boxplot para analisar a coluna de Tempo_envio:
Você conhece o gráfico de Boxplot? o gráfico de Boxplot ou gráfico de caixa, nos permite visualizar a distribuição dos nossos dados e verificar a presença de Outliers, que são valores discrepantes em nosso dataset. O Boxplot é formado por quartis, os quartis são usados para definir o tamanho da caixa, os valores acima e abaixo dos quartis são usados para cosntruir as hastes, valores fora da caixa e das hastes são considerados Outliers. Po exemplo o gráfico nos mostra que o valor do primeiro quartil é 5, o que quer dizer que até 25% do tempo de envio é 5. Segue abaixo a imagem retirada deste Site para que você entenda melhor o Boxplot:
O gráfico de Boxplot foi criado utilizando o método box() e passamos o df e a variável Tempo_envio para o eixo x.
Por fim, mostrarei como podemos alterar as cores e o background dos nossos gráficos, o Plotly disponibiliza várias paletas de cores que podemos utilizar, para visualizar você pode utilizar o comando abaixo:
Para utilizar qualquer uma das paletas em seu gráfico basta passar o parâmetro color_discrete_sequence e em seguida px.colors.qualitative e o nome da paleta:
E, para alterar o Background dos gráficos, o Plotly também disponibiliza vários templates que você pode encontrar Neste Link, basta adicionar o parâmetro template com o nome do template desejado e você consegue mudar o background dos seus gráficos:
Chegamos ao fim de mais um artigo, espero que você tenha gostado, e caso você queira aprender mais sobre a biblioteca Plotly e todos os seus recursos, você pode dar uma olhada na Documentação que é bastante rica. Até a próxima!!
Cientista de Dados
4 aMuito bom artigo