Para obter informações sobre disponibilidade, consulte Disponibilidade do Python no Excel. Se encontrar quaisquer problemas com o Python no Excel, comunique-os ao selecionar Feedback da Ajuda> no Excel.
É a primeira vez que utiliza o Python no Excel? Comece com Introdução ao Python no Excel e Comece a utilizar o Python no Excel.
Utilizar bibliotecas Python open source para criar gráficos
O Python no Excel vem com um conjunto básico de bibliotecas Python fornecidas pelo Anaconda. Este artigo descreve como usar bibliotecas Python, como seaborn e 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, consulte Bibliotecas de código aberto e Python no Excel.
Os exemplos neste artigo utilizam o conjunto de dados da flor de Iris. Transfira este livro de exemplo para acompanhar o artigo: python-in-excel-iris-dataset.xlsx.
Criar um terreno de pares com seaborn
Este exemplo mostra como criar uma visualização de gráfico de par do conjunto de dados da flor de Iris. Um gráfico de pares é uma matriz de gráficos que compara a relação entre cada variável num conjunto de dados. Neste caso, o conjunto de dados da flor da íris 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 import, permitindo-lhe consultá-la com o alias sns.
import seaborn as sns
Para criar um gráfico de par do conjunto de dados da flor Iris com a biblioteca seaborn, execute as seguintes etapas:
Introduza o seguinte fragmento de código numa célula do Python no Excel. O trecho de código armazena o gráfico de par como uma variável chamada pairplot. Ele cria o gráfico de pares com o alias sns da biblioteca seaborn e a função seaborn pairplot.
pairplot = sns.pairplot(xl("Table1[#All]", headers=True))Como argumento para a função pairplot , o trecho de código usa a função Python personalizada xl() e faz referência à primeira tabela na planilha, Table1. Inclui todo o conteúdo da tabela (como [#All]) e nota que a tabela inclui uma linha de cabeçalho (como headers=True). Neste exemplo, a Tabela1 na planilha contém o conjunto de dados Iris.
Nota
Se encontrar algum erro, consulte Resolver problemas do Python no Excel para obter mais informações.
Depois de consolidar a sua fórmula Python, o Python no Excel devolve a visualização de gráfico de pares num objeto de imagem. Selecione o ícone de cartão na célula de objeto de imagem para ver uma pré-visualização da visualização.
Mantenha a visualização como um objeto Image para continuar a utilizá-la para cálculos Python. Extraia a imagem para a grelha do Excel para a redimensionar e ver cada gráfico com mais detalhe. 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 da imagem e selecione Exibir Plotagem sobre 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 o artigo Grade do Excel neste artigo.
Criar um gráfico de dispersão com Matplotlib
Este exemplo descreve como criar um gráfico de dispersão com o conjunto de dados de exemplo de flor de Iris. Um gráfico de dispersão mostra a relação entre duas variáveis numéricas num conjunto de dados. O exemplo cria um gráfico de dispersão semelhante à captura de ecrã seguinte, 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 import, permitindo que você faça referência a ela como plt.
import matplotlib.pyplot as plt
Para criar um gráfico de dispersão do conjunto de dados da flor Iris com a biblioteca Matplotlib, execute as seguintes etapas:
Numa célula do Python no Excel, utilize a função de dispersão Matplotlib e introduza as colunas sepal_length e sepal_width do conjunto de dados Iris como argumentos. Neste exemplo, a Tabela1 na planilha contém o conjunto de dados Iris.
plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))Adicione etiquetas e um título ao gráfico 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')Nota
Pode adicionar este fragmento de código como uma linha de código adicional após a fórmula Python no passo anterior, na mesma célula do Excel, ou pode introduzi-lo numa nova célula do Python no Excel no seu livro. Se optar por introduzi-la numa nova célula, certifique-se de que segue as regras de ordem de cálculo das linhas principais e que a introduz depois da primeira célula.
Depois de consolidar as suas fórmulas Python, o Python no Excel devolve a visualização do gráfico de dispersão como um objeto de imagem. Selecione o ícone de cartão na célula de objeto de imagem para ver uma pré-visualização da visualização.
Nota
Se encontrar algum erro, consulte Resolver problemas do Python no Excel para obter mais informações.
Mantenha a visualização como um objeto de imagem para continuar a utilizá-la para cálculos Python. Extraia a imagem para a grelha do Excel para a redimensionar e ver a parcela com mais detalhe. 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 da imagem e selecione Exibir Plotagem sobre 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 o artigo Grade do Excel neste artigo.
Extrair um objeto de imagem para a grelha do Excel
Conforme demonstrado nos exemplos apresentados neste artigo, as bibliotecas Python como seaborn e Matplotlib podem devolver visualizações de dados a células do Excel. Por predefinição, o Python no Excel devolve estas visualizações como objetos de imagem.
Selecione o ícone de cartão numa célula de objeto de imagem para ver uma pré-visualização da visualização.
Existem duas formas de extrair uma imagem para a grelha do Excel: apresentar a imagem como um desenho sobre células ou apresentar a imagem dentro de uma célula.
Apresentar a imagem sobre as células
Siga estes passos para apresentar a imagem como um desenho sobre células.
Clique com o botão direito do rato ou Ctrl+clique na célula que contém o objeto de imagem e selecione Apresentar Desenho sobre Células no menu (ou utilize o atalho de teclado Ctrl+Alt+Shift+C). Esta ação cria uma cópia da imagem que flutua sobre a grelha do Excel e que pode ser redimensionada facilmente. O objeto da imagem original permanece na célula original.
Selecione e arraste a imagem de desenho para movê-la pela folha de cálculo. Selecione e arraste os nós nos cantos e lados da imagem para redimensioná-la.
Apresentar a imagem numa célula
Siga estes passos para apresentar a imagem numa célula.
Devolver o objeto de imagem como um valor do Excel. Selecione a célula de objeto de imagem, aceda ao menu de saída do Python na barra de fórmulas e selecione Valor do Excel.
A imagem do desenho é agora apresentada dentro da célula.
Sugestão
Para alternar os resultados da fórmula Python entre objetos Python e valores do Excel, utilize o atalho de teclado Ctrl+Alt+Shift+M. Para saber mais atalhos de teclado, consulte Atalhos de teclado do Python no Excel.
O tamanho da imagem de desenho depende do tamanho da célula. Aumente o tamanho da imagem ao aumentar o tamanho da célula ou ao unir células.
Utilizar tipos de letra diferentes para idiomas que não sejam o inglês
Para criar gráficos de dados que utilizem carateres do alfabeto não latino, como chinês, coreano ou tailandês, utilize excel.FontPath. Por predefinição, o Python no Excel compõe carateres do alfabeto não latino como um quadrado vazio ("□"). Para resolver isso, excel.FontPath permite que você use o excel módulo para chamar uma fonte diferente e renderizar os caracteres.
Estão disponíveis os seguintes tipos de letra. O atributo é acrescentado ao excel.FontPath seu código Python. O caminho refere-se ao ficheiro de tipo de letra chamado pelo atributo.
| Atributo | Caminho |
|---|---|
| BENGALI | /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 |
Utilize o Excel. FontPath para apresentar etiquetas de desenho em chinês simplificado
A captura de ecrã seguinte mostra um gráfico com etiquetas de desenho em carateres chineses simplificados utilizando 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 de chinês simplificado.
Exemplo de código utilizando o Excel. FontPath
Este exemplo de código mostra como usar excel.FontPath.CHINESE_SIMPLIFIED para gerar o gráfico e os caracteres chineses simplificados nos rótulos de gráfico que são 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()