Crear gráficos y trazados de Python en Excel
Python en Excel se está implementando actualmente para los usuarios empresariales y empresariales que ejecutan el Canal actual en Windows, a partir de la versión 2407 (compilación 17830.20128). Está disponible en versión preliminar para los usuarios de familia y personal que utilicen el canal actual en Windows a partir de la versión 2405 (Compilación 17628.20164). Python en Excel está disponible en versión preliminar para los usuarios de Educación que ejecutan el Canal actual (versión preliminar) a través del Programa Insider de Microsoft 365. Actualmente no está disponible para el Canal mensual para empresas ni para el Canal Semi-Annual Enterprise.
Primero se aplicará a Excel para Windows y más adelante a otras plataformas. Para obtener más información sobre disponibilidad, consulte Disponibilidad de Python en Excel.
Si encuentra algún problema con Python en Excel, notifíquelo seleccionando Ayuda > Comentarios en Excel.
¿Es nuevo en Python en Excel? Comience con Introducción a Python en Excel y Introducción a Python en Excel.
Usar bibliotecas de Python de código abierto para crear trazados y gráficos
Python en Excel viene con un conjunto principal de bibliotecas de Python proporcionadas por Anaconda. En este artículo se describe cómo usar bibliotecas de Python, como seaborny matplotlib, para crear trazados 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 muestra para seguirlo con el artículo: python-in-excel-iris-dataset.xlsx.
Crear un complot de parejas con seaborn
En este ejemplo se muestra cómo crear una visualización de trazado de pares del conjunto de datos flor iris. Un trazado 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 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 seabornse importa automáticamente para Python en Excel con la siguiente instrucción import, lo que le permite hacer referencia a ella con el sns de alias.
import seaborn as sns
Para crear un par de trazados del conjunto de datos flor 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 trazado del par como una variable llamada pairplot. Crea el trazado del par con el sns de alias de la biblioteca seaborn y el pairplot de la función seaborn. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Como argumento para la función pairplot, el fragmento de código usa la función personalizada python xl() y hace referencia a la primera tabla de la hoja de cálculo, Table1. Incluye todo el contenido de la tabla (como [#All]) y notas en las que la tabla incluye una fila de encabezado (como encabezados=True). En este ejemplo, Tabla1 de la hoja de cálculo contiene el conjunto de datos Iris.
Nota: Si encuentra algún error, consulte Solucionar 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 par 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ándolo para los cálculos de Python. Extraiga la imagen a la cuadrícula de Excel para cambiar su tamaño y ver cada trazado con más detalle. Para extraer la imagen a la cuadrícula, haga clic con el botón derecho o presione 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, vea la sección Extraer un objeto de imagen al artículo de 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 trazado de dispersión con el conjunto de datos de la muestra flor Iris. Un gráfico de dispersión muestra la relación entre dos variables numéricas en un conjunto de datos. En el ejemplo se crea un gráfico de dispersión con un aspecto similar al de la siguiente captura de pantalla, comparando los valores sepal_width y sepal_length .
Python en Excel crea la visualización con la biblioteca de código abierto Matplotlib. La biblioteca Matplotlibse 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 gráfico de dispersión del conjunto de datos flor Iris con la biblioteca Matplotlib, siga estos pasos:
-
En una celda de Python en Excel, use la función de dispersiónmatplotlib y escriba las columnas sepal_length y sepal_width del conjunto de datos Iris como argumentos. En este ejemplo, 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 escribirlo en una nueva celda, asegúrese de seguir las reglas de cálculo de 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 de trazado 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 Solucionar errores de Python en Excel para obtener más información.
-
Mantenga la visualización como un objeto de imagen para seguir usándolo para los cálculos de Python. Extraiga la imagen a la cuadrícula de Excel para cambiar su tamaño y ver el trazado con más detalle. Para extraer la imagen a la cuadrícula, haga clic con el botón derecho o presione 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, vea la sección Extraer un objeto de imagen al artículo de cuadrícula de Excel de este artículo.
Extraer un objeto de imagen a la cuadrícula de Excel
Como se muestra en los ejemplos de este artículo, bibliotecas de Python como seaborn y Matplotlib pueden devolver visualizaciones de datos a las 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 a 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 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.
-
Devolver el objeto de imagen como un valor de Excel. Seleccione la celda del 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.Sugerencia: Para alternar los resultados de fórmulas de Python entre los objetos de Python y los valores de Excel, use el método abreviado de teclado Ctrl+Alt+Mayús+M. Para obtener más información sobre los 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.
Crear sus propios trazados y gráficos
Ahora que ha aprendido a crear python en gráficos y trazados de Excel con un conjunto de datos de ejemplo, introduzca sus propios datos en un libro de Excel y cree visualizaciones personalizadas.
Para importar datos externos para su uso con Python en Excel, use Power Query. Para obtener más información, consulte Usar Power Query para importar datos para Python en Excel.
Usar fuentes diferentes para idiomas distintos del inglés
Para representar datos que usan caracteres alfabéticos no latinos, como chino, coreano o tailandés, use excel.FontPath. De forma predeterminada, Python en Excel representa caracteres alfabéticos no latinos como un cuadrado vacío ('□'). Para resolver este problema, excel.FontPath le permite usar el módulo de excel para llamar a una fuente diferente y representar los caracteres.
Están disponibles las siguientes fuentes. El atributo se anexa a excel.FontPath en el código python. La ruta de acceso hace referencia al archivo de fuente al que llama 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 |
sobresalir. Ejemplo de FontPath
Antes
Este gráfico no puede representar las etiquetas de trazado adecuadas porque la fuente predeterminada no admite los caracteres proporcionados.
Ejemplo de código para etiquetas de gráficos renderizadas incorrectamente:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
Después
Para corregir las etiquetas de gráfico de este ejemplo, use excel.FontPath.CHINESE_SIMPLIFIED para representar correctamente los caracteres chinos proporcionados.
Ejemplo de código para etiquetas de gráficos correctamente representadas:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. # 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() |