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.
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:
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.
Nota
Si encuentra algún error, consulte Solución de errores de Python en Excel para obtener más información.
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.
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 .
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:
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]"))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.
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.
Nota
Si encuentra algún error, consulte Solución de errores de Python en Excel para obtener más información.
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.
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.
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.
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.
Mostrar la imagen dentro de una celda
Siga estos pasos para mostrar la imagen dentro de una celda.
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.
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.
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.
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()