Criar Gráficos e Gráficos do Python no Excel
Applies To
Excel para Microsoft 365O Python no Excel agora está disponível para usuários empresariais e empresariais que executam o Canal Atual no Windows, começando com a Versão 2407 (Build 17830.20128) e o Canal Empresarial Mensal no Windows, começando com a Versão 2408 (Build 17928.20216). Ele está disponível na versão prévia para usuários familiares e pessoais que executam o Canal Atual no Windows começando com a versão 2405 (Build 17628.20164). O Python no Excel está disponível em versão prévia para usuários do Education que executam o Canal Atual (Versão Prévia) por meio do Programa Insider do Microsoft 365. No momento, ele não está disponível para o Semi-Annual Enterprise Channel.
Ele está sendo lançado primeiro para o Excel para Windows e, em seguida, para outras plataformas em uma data posterior. Para obter mais informações de disponibilidade, consulte Python na disponibilidade do Excel.
Se você encontrar alguma preocupação com o Python no Excel, denuncie-as selecionando Ajuda > Comentários no Excel.
Novo no Python no Excel? Comece com Introdução ao Python no Excel e Introdução ao Python no Excel.
Usar bibliotecas do Python de código aberto para criar gráficos e gráficos
O Python no Excel vem com um conjunto principal de bibliotecas python fornecidas pela Anaconda. Este artigo descreve como usar bibliotecas python, como seaborne matplotlib, para criar gráficos e gráficos. Para saber mais sobre as bibliotecas de código aberto disponíveis com o Python no Excel, confira Bibliotecas de código aberto e Python no Excel.
Os exemplos neste artigo usam o conjunto de dados de flores iris. Baixe esta pasta de trabalho de exemplo para acompanhar o artigo: python-in-excel-iris-dataset.xlsx.
Criar um plot de par com o seaborn
Este exemplo mostra como criar uma visualização de gráfico de par do conjunto de dados de flores iris. Um plot de par é uma matriz de gráficos e gráficos que compara a relação entre cada variável em um conjunto de dados. Nesse caso, o conjunto de dados de flores iris contém quatro colunas de dados numéricos: sepal_length, sepal_width, petal_length e petal_width.
O Python no Excel cria a visualização com a biblioteca seaborn. A biblioteca seaborné importada automaticamente para Python no Excel com a seguinte instrução de importação, permitindo referenciá-la com o alias sns.
import seaborn as sns
Para criar um gráfico de par do conjunto de dados de flores iris com a biblioteca de nascidos no mar, siga as seguintes etapas:
-
Insira o snippet de código a seguir em uma célula Python no Excel. O snippet de código armazena o plot de par como uma variável chamada pairplot. Ele cria o plot de par com os alias da biblioteca seaborn e o parplot de funções do seaborn. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Como argumento para a função pairplot, o snippet de código usa a função python personalizada xl() e faz referência à primeira tabela na planilha, Table1. Ele inclui todo o conteúdo da tabela (como [#All]) e observa que a tabela inclui uma linha de cabeçalho (como cabeçalhos=True). Neste exemplo, o Table1 na planilha contém o conjunto de dados Iris.
Observação: Se você encontrar algum erro, consulte Solucionar problemas do Python em erros do Excel para obter mais informações.
-
Depois de comprometer sua fórmula do Python, o Python no Excel retorna a visualização de plotagem de par em um objeto de imagem. Selecione o ícone card na célula de objeto de imagem para ver uma visualização da visualização.
-
Mantenha a visualização como um objeto Image para continuar usando-a para cálculos do Python. Extraia a imagem para a grade do Excel para redimensioná-la e exibir cada plotagem com mais detalhes. Para extrair a imagem para a grade, clique com o botão direito do mouse ou Ctrl+clique na célula que contém o objeto de imagem e selecione Exibir Plot em Células no menu.
Para obter informações adicionais sobre como extrair objetos de imagem, consulte a seção Extrair um objeto de imagem para a seção de artigo da grade do Excel neste artigo.
Criar um plot de dispersão com Matplotlib
Este exemplo descreve como criar um gráfico de dispersão com o conjunto de dados de exemplo de flores iris. Um plot de dispersão mostra a relação entre duas variáveis numéricas em um conjunto de dados. O exemplo cria um plot de dispersão que se parece com a captura de tela a seguir, comparando os valores sepal_width e sepal_length .
O Python no Excel cria a visualização com a biblioteca de código aberto Matplotlib. A biblioteca Matplotlibé importada automaticamente para Python no Excel com a seguinte instrução de importação, permitindo referenciá-la como plt.
import matplotlib.pyplot as plt
Para criar um plot de dispersão do conjunto de dados de flores iris com a biblioteca Matplotlib, siga as seguintes etapas:
-
Em uma célula Python no Excel, use a função de dispersãode matplotlib e insira as colunas sepal_length e sepal_width do conjunto de dados Iris como os argumentos. Neste exemplo, o Table1 na planilha contém o conjunto de dados Iris.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Adicione rótulos e um título ao plot de dispersão. # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width') # Add a title to the plot. plt.title('Sepal length and width analysis')
Observação: Você pode adicionar esse snippet de código como uma linha de código adicional após a fórmula python na etapa anterior, na mesma célula do Excel, ou inseri-lo em uma nova célula Python no Excel em sua pasta de trabalho. Se você optar por inseri-la em uma nova célula, siga as regras de ordem de cálculo principais da linha e insira-a após a primeira célula.
-
Depois de comprometer suas fórmulas do Python, o Python no Excel retorna a visualização da trama de dispersão como um objeto de imagem. Selecione o ícone card na célula de objeto de imagem para ver uma visualização da visualização.
Observação: Se você encontrar algum erro, consulte Solucionar problemas do Python em erros do Excel para obter mais informações.
-
Mantenha a visualização como um objeto de imagem para continuar usando-a para cálculos do Python. Extraia a imagem para a grade do Excel para redimensioná-la e exibir a trama com mais detalhes. Para extrair a imagem para a grade, clique com o botão direito do mouse ou Ctrl+clique na célula que contém o objeto de imagem e selecione Exibir Plot em Células no menu.
Para obter informações adicionais sobre como extrair objetos de imagem, consulte a seção Extrair um objeto de imagem para a seção de artigo da grade do Excel neste artigo.
Extrair um objeto de imagem para a grade do Excel
Conforme demonstrado pelos exemplos deste artigo, bibliotecas do Python, como seaborn e Matplotlib, podem retornar visualizações de dados para células do Excel. Por padrão, o Python no Excel retorna essas visualizações como objetos de imagem.
Selecione o ícone card em uma célula de objeto de imagem para ver uma visualização da visualização.
Há duas maneiras de extrair uma imagem para a grade do Excel: exibir a imagem como um plot sobre células ou exibir a imagem dentro de uma célula.
Exibir a imagem sobre células
Siga estas etapas para exibir a imagem como um plot sobre células.
-
Clique com o botão direito do mouse ou Ctrl+clique na célula que contém o objeto de imagem e selecione Exibir Plot sobre Células no menu (ou use o atalho de teclado Ctrl+Alt+Shift+C). Isso cria uma cópia da imagem que flutua sobre a grade do Excel e pode ser redimensionada facilmente. O objeto de imagem original permanece na célula original.
-
Selecione e arraste a imagem de plotagem para movê-la ao redor da planilha. Selecione e arraste os nós nos cantos e laterais da imagem para redimensioná-los.
Exibir a imagem dentro de uma célula
Siga estas etapas para exibir a imagem dentro de uma célula.
-
Retorne o objeto de imagem como um valor do Excel. Selecione a célula do objeto de imagem, vá para o menu de saída do Python na barra de fórmulas e selecione Valor do Excel.
A imagem de plotagem agora é exibida dentro da célula.Dica: Para alternar os resultados da fórmula python entre objetos Python e valores do Excel, use o atalho de teclado Ctrl+Alt+Shift+M. Para saber mais sobre atalhos de teclado, consulte Python em atalhos de teclado do Excel.
-
O tamanho da imagem de plotagem depende do tamanho da célula. Aumente o tamanho da imagem aumentando o tamanho da célula ou mesclando células.
Criar seus próprios gráficos e gráficos
Agora que você aprendeu a criar o Python em gráficos e gráficos do Excel com um conjunto de dados de exemplo, insira seus próprios dados em uma pasta de trabalho do Excel e crie visualizações personalizadas.
Para importar dados externos para uso com Python no Excel, use Power Query. Para saber mais, confira Usar Power Query para importar dados para Python no Excel.
Usar fontes diferentes para idiomas que não são inglês
Para mapear dados que usam caracteres de alfabeto não latino, como chinês, coreano ou tailandês, use excel.FontPath. Por padrão, o Python no Excel renderiza caracteres do alfabeto não latino como um quadrado vazio ('□'). Para resolve isso, excel.FontPath permite que você use o módulo excel para chamar uma fonte diferente e renderizar os caracteres.
As fontes a seguir estão disponíveis. O atributo é acrescentado a excel.FontPath em seu código Python. O caminho refere-se ao arquivo de fonte chamado pelo atributo.
Atributo |
Caminho |
---|---|
BENGALÊS |
/usr/share/fonts/Vrinda.ttf |
CHINESE_SIMPLIFIED |
/usr/share/fonts/SimSun.ttf |
CHINESE_TRADITIONAL |
/usr/share/fonts/MingLiU.ttf |
HINDI |
/usr/share/fonts/Mangal.ttf |
JAPONÊS |
/usr/share/fonts/Meiryo.ttf |
COREANO |
/usr/share/fonts/Batang.ttf |
TAILANDÊS |
/usr/share/fonts/THSarabunPSK.ttf |
distinguir-se. Exemplo de FontPath
Um fluxograma com os pontos de conector vermelhos.
Este gráfico não consegue renderizar os rótulos de plotagem adequados porque a fonte padrão não dá suporte aos caracteres fornecidos.
Exemplo de código para rótulos de gráfico renderizados incorretamente:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
Um cabeçalho de tabela de uma coluna que contém informações de contato
Para corrigir os rótulos do gráfico neste exemplo, use excel.FontPath.CHINESE_SIMPLIFIED para renderizar corretamente os caracteres chineses fornecidos.
Exemplo de código para rótulos de gráfico renderizados corretamente:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. # Returns '/usr/share/fonts/simsun.ttf' font_path = excel.FontPath.CHINESE_SIMPLIFIED # Point the properties to the font path. font_properties = FontProperties(fname=font_path) plt.rcParams['font.family'] = font_properties.get_name() # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |