Criar gráficos e gráficos com o Python no Excel
Aplica-se a
Para obter informações de disponibilidade, consulte Python na disponibilidade do Excel. Se você encontrar alguma preocupação com o Python no Excel, relate 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ãoMatplotlib 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.
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 |
Use o Excel. FontPath para exibir rótulos de plotagem chinês simplificados
A captura de tela a seguir mostra um gráfico com rótulos de plotagem em caracteres chineses simplificados usando excel.FontPath. O exemplo de código após a captura de tela demonstra como usar excel.FontPath.CHINESE_SIMPLIFIED para exibir caracteres da biblioteca chinesa simplificada.
Exemplo de código usando o Excel. FontPath
Este exemplo de código mostra como usar excel.FontPath.CHINESE_SIMPLIFIED para gerar o plot e os caracteres chineses simplificados nos rótulos de enredo exibidos na captura de tela anterior.
-
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. This 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()