Crear trazados y gráficos con Python en Excel

Se aplica a
Excel para Microsoft 365 Excel para Microsoft 365 para Mac

Para obtener información sobre la disponibilidad, consulte la disponibilidad de Python en Excel. Si encuentra algún problema con Python en Excel, notifíquelo seleccionandoComentarios de ayuda> en Excel.

¿Es nuevo en Python en Excel? Comience con Introducción a Python en Excel e Introducción a Python en Excel.

Uso de bibliotecas de Python de código abierto para crear trazados y gráficos

Python en Excel viene con un conjunto básico de bibliotecas de Python proporcionadas por Anaconda. En este artículo se describe cómo usar bibliotecas de Python, como seaborn y Matplotlib, para crear gráficos y gráficos. Para obtener más información sobre las bibliotecas de código abierto disponibles con Python en Excel, consulte Bibliotecas de código abierto y Python en Excel.

En los ejemplos de este artículo se usa el conjunto de datos Flor del iris. Descargue este libro de ejemplo para seguir el artículo: python-in-excel-iris-dataset.xlsx.

Crear un gráfico en pareja con seaborn

Este ejemplo muestra cómo crear una visualización de gráfico de pares del conjunto de datos de flores de Iris. Un gráfico de pares es una matriz de trazados y gráficos que compara la relación entre cada variable de un conjunto de datos. En este caso, el conjunto de datos Flor del iris contiene cuatro columnas de datos numéricos: sepal_length, sepal_width, petal_length y petal_width.

Use Python en Excel para crear un gráfico de pares con la biblioteca seaborn.

Python en Excel crea la visualización con la biblioteca seaborn . La biblioteca seaborn se importa automáticamente para Python en Excel con la siguiente instrucción import, lo que le permite hacer referencia a ella con el alias sns.

import seaborn as sns

Para crear un gráfico en pareja del conjunto de datos Flor de Iris con la biblioteca seaborn, siga estos pasos:

  1. Escriba el siguiente fragmento de código en una celda de Python en Excel. El fragmento de código almacena el gráfico de pares como una variable denominada gráfico de pares. Crea el gráfico de pares con el alias de biblioteca seaborn sns y el gráfico de pares de la función seaborn.

    pairplot = sns.pairplot(xl("Table1[#All]", headers=True))

    Como argumento de la función pairplot , el fragmento de código usa la función personalizada de Python xl() y hace referencia a la primera tabla de la hoja de cálculo, Tabla1. Incluye todo el contenido de la tabla (como [#All]) y observa que la tabla incluye una fila de encabezado (como headers=True). En este ejemplo, la Tabla1 de la hoja de cálculo contiene el conjunto de datos Iris.

    Vea la vista previa del trazado de pares en un DataFrame.

    Nota

    Si encuentra algún error, consulte Solución de errores de Python en Excel para obtener más información.

  2. Después de confirmar la fórmula de Python, Python en Excel devuelve la visualización de trazado de pares en un objeto de imagen. Seleccione el icono de tarjeta en la celda del objeto de imagen para obtener una vista previa de la visualización.

    Vea una vista previa del trazado en una tarjeta DataFrame.

  3. Mantenga la visualización como un objeto Image para seguir usándola para cálculos de Python. Extraiga la imagen en la cuadrícula de Excel para cambiar su tamaño y ver cada gráfico con más detalle. Para extraer la imagen en la cuadrícula, haga clic con el botón derecho o Ctrl+clic en la celda que contiene el objeto de imagen y seleccione Mostrar trazado sobre celdas en el menú.

    Para obtener información adicional sobre cómo extraer objetos de imagen, consulte la sección del artículo Extraer un objeto de imagen en la cuadrícula de Excel de este artículo.

Crear un gráfico de dispersión con Matplotlib

En este ejemplo se describe cómo crear un gráfico de dispersión con el conjunto de datos de muestra de flor de iris. Un gráfico de dispersión muestra la relación entre dos variables numéricas de un conjunto de datos. En el ejemplo se crea un gráfico de dispersión similar al de la siguiente captura de pantalla, en el que se comparan los valores sepal_width y sepal_length .

Use Python en Excel para crear un gráfico de dispersión con la biblioteca matplotlib.

Python en Excel crea la visualización con la biblioteca de código abierto Matplotlib . La biblioteca Matplotlib se importa automáticamente para Python en Excel con la siguiente instrucción import, lo que le permite hacer referencia a ella como plt.

import matplotlib.pyplot as plt

Para crear un diagrama de dispersión del conjunto de datos de la flor de Iris con la biblioteca Matplotlib, siga estos pasos:

  1. En una celda de Python en Excel, use la función de dispersión Matplotlib y escriba las columnas sepal_length y sepal_width del conjunto de datos Iris como argumentos. En este ejemplo, la Tabla1 de la hoja de cálculo contiene el conjunto de datos Iris.

    plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Agregue etiquetas y un título al gráfico de dispersión.

    # 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

    Puede agregar este fragmento de código como una línea de código adicional después de la fórmula de Python en el paso anterior, en la misma celda de Excel, o puede escribirlo en una nueva celda de Python en Excel en el libro. Si elige escribirla en una celda nueva, asegúrese de seguir las reglas de orden de cálculo de la fila principal e introdúzcala después de la primera celda.

  3. Después de confirmar las fórmulas de Python, Python en Excel devuelve la visualización del gráfico de dispersión como un objeto de imagen. Seleccione el icono de tarjeta en la celda del objeto de imagen para obtener una vista previa de la visualización.

    Vea una vista previa del gráfico de dispersión en un DataFrame.

    Nota

    Si encuentra algún error, consulte Solución de errores de Python en Excel para obtener más información.

  4. Mantenga la visualización como un objeto de imagen para seguir usándola para cálculos de Python. Extraiga la imagen a la cuadrícula de Excel para cambiar su tamaño y ver el gráfico con más detalle. Para extraer la imagen en la cuadrícula, haga clic con el botón derecho o Ctrl+clic en la celda que contiene el objeto de imagen y seleccione Mostrar trazado sobre celdas en el menú.

    Para obtener información adicional sobre cómo extraer objetos de imagen, consulte la sección del artículo Extraer un objeto de imagen en la cuadrícula de Excel de este artículo.

Extraer un objeto de imagen en la cuadrícula de Excel

Como se muestra en los ejemplos de este artículo, las bibliotecas de Python como seaborn y Matplotlib pueden devolver visualizaciones de datos a celdas de Excel. De forma predeterminada, Python en Excel devuelve estas visualizaciones como objetos de imagen.

Seleccione el icono de tarjeta en una celda de objeto de imagen para obtener una vista previa de la visualización.

Vea una vista previa del trazado en una tarjeta DataFrame.

Hay dos formas de extraer una imagen en la cuadrícula de Excel: mostrar la imagen como un trazado sobre las celdas o mostrar la imagen dentro de una celda.

Mostrar la imagen sobre las celdas

Siga estos pasos para mostrar la imagen como un trazado sobre celdas.

  1. Haga clic con el botón derecho o Ctrl+clic en la celda que contiene el objeto de imagen y seleccione Mostrar trazado sobre celdas en el menú (o use el método abreviado de teclado Ctrl+Alt+Mayús+C). Esto crea una copia de la imagen que flota sobre la cuadrícula de Excel y se puede cambiar de tamaño fácilmente. El objeto de imagen original permanece en la celda original.

  2. Seleccione y arrastre la imagen de trazado para moverla por la hoja de cálculo. Seleccione y arrastre los nodos en las esquinas y lados de la imagen para cambiar su tamaño.

    Cree una visualización de trazado flotante con el icono Crear referencia.

Mostrar la imagen dentro de una celda

Siga estos pasos para mostrar la imagen dentro de una celda.

  1. Devuelve el objeto de imagen como un valor de Excel. Seleccione la celda de objeto de imagen, vaya al menú de salida de Python en la barra de fórmulas y seleccione Valor de Excel.

    Use el menú de salida de Python junto a la barra de fórmulas para cambiar el tipo de salida.

    La imagen de trazado ahora se muestra dentro de la celda.

    Recomendación

    Para alternar los resultados de fórmulas de Python entre objetos de Python y valores de Excel, use el método abreviado de teclado Ctrl+Alt+Mayús+M. Para obtener más información sobre métodos abreviados de teclado, consulte Métodos abreviados de teclado de Python en Excel.

  2. El tamaño de la imagen de trazado depende del tamaño de la celda. Aumente el tamaño de la imagen aumentando el tamaño de la celda o combinando celdas.

Usar fuentes diferentes para idiomas distintos del inglés

Para representar un gráfico de datos que usan caracteres del alfabeto no latino, como el chino, el coreano o el tailandés, use excel.FontPath. De forma predeterminada, Python en Excel representa los caracteres del alfabeto no latino como un cuadrado vacío ("□"). Para resolver esto, excel.FontPath le permite usar el excel módulo para llamar a una fuente diferente y representar los caracteres.

Están disponibles las siguientes fuentes. El atributo se anexa en excel.FontPath el código de Python. La ruta de acceso hace referencia al archivo de fuente llamado por el atributo.

Atributo Ruta de acceso
BENGALÍ /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 Excel. FontPath para mostrar etiquetas de trazado en chino simplificado

En la captura de pantalla siguiente se muestra un gráfico con etiquetas de trazado en caracteres chinos simplificados mediante excel.FontPath. El ejemplo de código después de la captura de pantalla muestra cómo usar excel.FontPath.CHINESE_SIMPLIFIED para mostrar caracteres de la biblioteca de chino simplificado.

Gráfico con caracteres que se representan correctamente

Código de ejemplo con Excel. Ruta de fuente

Este código de ejemplo muestra cómo generar excel.FontPath.CHINESE_SIMPLIFIED el trazado y los caracteres chinos simplificados en las etiquetas de trazado que se muestran en la captura de pantalla 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()