Criar gráficos e gráficos com o Python no Excel
Applies To
Excel para Microsoft 365O Python no Excel está agora disponível para utilizadores empresariais e empresariais que executem o Canal Atual no Windows, a partir da Versão 2408 (Compilação 17928.20114) e do Canal Empresarial Mensal no Windows, a partir da Versão 2408 (Compilação 17928.20216). Está disponível em pré-visualização para utilizadores Familiares e Pessoais que executem o Canal Atual no Windows a partir da Versão 2405 (Compilação 17628.20164). O Python no Excel está disponível em pré-visualização para utilizadores do Education que executem o Canal Atual (Pré-visualização) através do Programa Insider do Microsoft 365. Atualmente, não está disponível para o canal Semi-Annual Enterprise.
Está a ser implementada primeiro no Excel para Windows e, em seguida, noutras plataformas posteriormente. Para obter mais informações de disponibilidade, veja Python in Excel availability (Disponibilidade do Python no Excel).
Se encontrar alguma preocupação com o Python no Excel, comunique-os ao selecionar Ajuda > Feedback no Excel.
Novo no Python no Excel? Comece com a Introdução ao Python no Excel e Introdução ao Python no Excel.
Utilizar bibliotecas Python open source para criar gráficos e gráficos
O Python no Excel inclui um conjunto principal de bibliotecas Python fornecido pelo Anaconda. Este artigo descreve como utilizar bibliotecas Python, como seaborne Matplotlib, para criar gráficos e gráficos. Para saber mais sobre as bibliotecas open source disponíveis com o Python no Excel, consulte Bibliotecas open source e Python no Excel.
Os exemplos neste artigo utilizam o conjunto de dados Flor de Íris. Transfira este livro de exemplo para acompanhar o artigo: python-in-excel-iris-dataset.xlsx.
Criar um gráfico de par com o seaborn
Este exemplo mostra como criar uma visualização de gráfico de par do conjunto de dados Flor de Íris. Um gráfico de par é uma matriz de gráficos e gráficos que compara a relação entre cada variável num conjunto de dados. Neste caso, o conjunto de dados flor í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 de importação, permitindo-lhe referenciá-la com o alias sns.
import seaborn as sns
Para criar um gráfico de par do conjunto de dados de flores de Íris com a biblioteca seaborn, siga os seguintes passos:
-
Introduza o seguinte fragmento de código numa célula do Python no Excel. O fragmento de código armazena o gráfico de pares como uma variável chamada pairplot. Cria o gráfico de pares com o alias da biblioteca seaborn sns e o parplot da função seaborn. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Como argumento para a função pairplot, o fragmento de código utiliza a função python xl() personalizada e referencia a primeira tabela na folha de cálculo Table1. Inclui todo o conteúdo da tabela (como [#All]) e nota que a tabela inclui uma linha de cabeçalho (como cabeçalhos=Verdadeiro). Neste exemplo, a Tabela1 na folha de cálculo contém o conjunto de dados Íris.
Observação: Se encontrar erros, consulte Resolver erros 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 do gráfico de pares num objeto de imagem. Selecione o ícone card na célula do objeto de imagem para ver uma pré-visualização da visualização.
-
Mantenha a visualização como um objeto Imagem 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 mais detalhadamente. Para extrair a imagem para a grelha, clique com o botão direito do rato ou ctrl+clique na célula que contém o objeto de imagem e selecione Mostrar Gráfico sobre Células no menu.
Para obter informações adicionais sobre a extração de objetos de imagem, consulte a secção Extrair um objeto de imagem para a grelha do Excel neste artigo.
Criar um gráfico de dispersão com o Matplotlib
Este exemplo descreve como criar um gráfico de dispersão com o conjunto de dados de exemplo Flor de Íris. 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 à seguinte captura de ecrã, comparando os valores sepal_width e sepal_length .
O Python no Excel cria a visualização com a biblioteca open source matplotlib. A biblioteca Matplotlibé importada automaticamente para Python no Excel com a seguinte instrução de importação, permitindo-lhe referenciá-la como plt.
import matplotlib.pyplot as plt
Para criar um gráfico de dispersão do conjunto de dados de flores iris com a biblioteca Matplotlib, siga os seguintes passos:
-
Numa célula do Python no Excel, utilize a função de dispersãoMatplotlib e introduza as colunas sepal_length e sepal_width do conjunto de dados Íris como argumentos. Neste exemplo, a Tabela1 na folha de cálculo contém o conjunto de dados Íris.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')
Observação: 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 da ordem de cálculo principal da linha e introduza-as após a primeira célula.
-
Depois de consolidar as 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 card na célula do objeto de imagem para ver uma pré-visualização da visualização.
Observação: Se encontrar erros, consulte Resolver erros 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 do Python. Extraia a imagem para a grelha do Excel para a redimensionar e ver o gráfico mais detalhadamente. Para extrair a imagem para a grelha, clique com o botão direito do rato ou ctrl+clique na célula que contém o objeto de imagem e selecione Mostrar Gráfico sobre Células no menu.
Para obter informações adicionais sobre a extração de objetos de imagem, consulte a secção Extrair um objeto de imagem para a grelha do Excel neste artigo.
Extrair um objeto de imagem para a grelha do Excel
Conforme demonstrado pelos exemplos neste artigo, as bibliotecas Python como seaborn e Matplotlib podem devolver visualizações de dados às células do Excel. Por predefinição, o Python no Excel devolve estas visualizações como objetos de imagem.
Selecione o ícone card 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 gráfico sobre células ou apresentar a imagem numa célula.
Apresentar a imagem através de células
Siga estes passos para apresentar a imagem como um gráfico sobre as 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 Mostrar Gráfico 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 pode ser redimensionada facilmente. O objeto de imagem original permanece na célula original.
-
Selecione e arraste a imagem de desenho para movê-la na sua 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 do objeto de imagem, aceda ao menu de saída do Python na barra de fórmulas e selecione Valor do Excel.
A imagem de desenho é agora apresentada na célula.Dica: 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 sobre os atalhos de teclado, consulte Python nos atalhos de teclado do 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 não ingleses
Para criar um gráfico de dados que utilizem carateres de alfabeto não latino, como chinês, coreano ou tailandês, utilize excel.FontPath. Por predefinição, o Python no Excel compõe carateres de alfabeto não latinos como um quadrado vazio ('□'). Para resolve isto, excel.FontPath permite-lhe utilizar o módulo excel para chamar um tipo de letra diferente e compor os carateres.
Estão disponíveis os seguintes tipos de letra. O atributo é anexado a excel.FontPath no código Python. O caminho refere-se ao ficheiro de tipo de letra 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 |
Utilize o Excel. FontPath para apresentar etiquetas de desenho chinesas simplificadas
A captura de ecrã seguinte mostra um gráfico com etiquetas de desenho em carateres chineses simplificados com excel.FontPath. O exemplo de código após a captura de ecrã demonstra como utilizar excel.FontPath.CHINESE_SIMPLIFIED para apresentar carateres 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()