相关主题
×
使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

Excel 中的 Python 目前为预览版,可能会根据反馈进行更改。 若要使用此功能,请加入 Microsoft 365 会员计划,并选择“Beta 版频道”预览体验成员级别。 

Excel 中的 Python 将使用 Beta 版频道逐步向 Excel for Windows 客户推出。 目前,该功能在其他平台上不可用。

如果在使用 Excel 中的 Python 时遇到任何问题,请通过在 Excel 中选择“帮助”>“反馈”来报告这些问题。

不熟悉 Excel 中的 Python? 从 Excel 中的 Python 简介Excel 中的 Python 入门开始。

使用开源 Python 库创建绘图和图表 

Excel 中的 Python 附带 Anaconda 提供的一组核心 Python 库。 本文介绍如何使用 Python 库(如 seaborn和 matplotlib)创建绘图和图表。 若要详细了解 Excel 中 Python 提供的开源库,请参阅 Excel 中的开源库和 Python。 

本文中的示例使用 Iris 花数据集。 下载此示例工作簿,并遵循以下文章: python-in-excel-iris-dataset.xlsx。 

使用 seaborn 创建一对绘图 

此示例演示如何创建鸢尾花数据集的对图可视化效果。 对图是绘图和图表的矩阵,用于比较数据集中每个变量之间的关系。 在这种情况下,鸢尾花数据集包含四列数值数据: sepal_lengthsepal_widthpetal_lengthpetal_width。 

在 Excel 中使用 Python 创建具有 seaborn 库的对图。

Excel 中的 Python 使用 seaborn库创建可视化效果。 使用以下导入语句在 Excel 中自动导入用于 Python 的 seaborn库,以便使用别名 sns 引用它。  

import seaborn as sns 

若要使用 seaborn 库创建鸢尾花数据集的对图,请执行以下步骤:

  1. 在 Excel 中的 Python 单元格中输入以下代码片段。 代码片段将配对图存储为名为 pairplot 的变量。  它使用 seaborn 库别名 sns 和 seaborn 函数 对plot 创建对图。 



    pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) 作为 pairplot 函数的参数,代码片段使用自定义 Python 函数 xl () 并引用工作表中的第一个表 Table1。 它包括整个表内容 (为 [#All]) ,并指出表包含标题行 (标头= True) 。 在此示例中,工作表中的 Table1 包含 Iris 数据集。

    请参阅数据帧中的对图预览。

    注意: 如果遇到任何错误,请参阅 排查 Excel 中的 Python 错误 ,了解详细信息。 

  2. 提交 Python 公式后,Excel 中的 Python 将在图像对象中返回对图可视化效果。 选择图像对象单元格中的卡图标以查看可视化效果的预览。

    请参阅 DataFrame 卡中的绘图预览。

  3. 将可视化效果保留为 Image 对象,以继续使用它进行 Python 计算。 将图像提取到 Excel 网格以调整其大小并更详细地查看每个绘图。 若要将图像提取到网格中,请右键单击或 Ctrl+单击包含图像对象的单元格,然后从菜单中选择“ 在单元格上显示绘图”。

    有关提取图像对象的其他信息,请参阅本文中的 将图像对象提取到 Excel 网格 一文部分。

使用 Matplotlib 创建散点图 

此示例介绍如何使用鸢尾花样本数据集创建散点图。 散点图显示数据集中两个数值变量之间的关系。 该示例创建类似于以下屏幕截图的散点图,比较 了sepal_width 值和 sepal_length 值。

在 Excel 中使用 Python 使用 matplotlib 库创建散点图。

Excel 中的 Python 使用 Matplotlib开源库创建可视化效果。 Matplotlib库会自动在 Excel 中使用以下 import 语句为 Python 导入,以便将其引用为 plt。  

import matplotlib.pyplot as plt 

若要使用 Matplotlib 库创建鸢尾花数据集的散点图,请执行以下步骤:

  1. 在 Excel 中的 Python 单元格中,使用 matplotlib 散点函数并输入 Iris 数据集的sepal_length sepal_width 列作为参数。 在此示例中,工作表中的 Table1 包含 Iris 数据集。

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

  2. 向散点图添加标签和标题。  

    # 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')

    注意: 可以将此代码片段作为附加代码行添加到上一步中的 Python 公式之后,在同一 Excel 单元格中,也可以在工作簿的 Excel 单元格中的新 Python 中输入它。 如果选择在新单元格中输入它,请确保遵循行主计算顺序规则,并在第一个单元格之后输入它。

  3. 提交 Python 公式后,Excel 中的 Python 会将散点图可视化效果作为图像对象返回。 选择图像对象单元格中的卡图标以查看可视化效果的预览。 

    在数据帧中查看散点图的预览。

    注意: 如果遇到任何错误,请参阅 排查 Excel 中的 Python 错误 ,了解详细信息。  

  4. 将可视化对象保留为图像对象,以继续使用它进行 Python 计算。 将图像提取到 Excel 网格以调整其大小并更详细地查看绘图。 若要将图像提取到网格中,请右键单击或 Ctrl+单击包含图像对象的单元格,然后从菜单中选择“ 在单元格上显示绘图”。

    有关提取图像对象的其他信息,请参阅本文中的 将图像对象提取到 Excel 网格 一文部分。

将图像对象提取到 Excel 网格

如本文中的示例所示,seaborn 和 Matplotlib 等 Python 库可以将数据可视化效果返回到 Excel 单元格。 默认情况下,Excel 中的 Python 将这些可视化效果作为图像对象返回。 

选择图像对象单元格中的卡图标以查看可视化效果的预览。

请参阅 DataFrame 卡中的绘图预览。

可通过两种方法将图像提取到 Excel 网格:在单元格上以绘图形式显示图像或在单元格内显示图像。

在单元格上显示图像

按照以下步骤将图像显示为单元格上的绘图。

  1. 右键单击或 Ctrl+单击包含图像对象的单元格,然后从 (菜单中选择“ 在单元格上显示绘图”,或使用键盘快捷方式 Ctrl+Alt+Shift+C) 。 这会创建一个图像副本,该副本浮动在 Excel 网格上,并且可以轻松调整大小。 原始图像对象保留在原始单元格中。

  2. 选择并拖动绘图图像以在工作表中移动它。 选择并拖动图像的角落和两侧的节点,以调整其大小。

    使用“创建引用”图标创建浮动绘图可视化效果。

在单元格中显示图像

按照以下步骤在单元格中显示图像。

  1. 以 Excel 值的形式返回图像对象。 选择图像对象单元格,转到编辑栏中的“Python 输出”菜单,然后选择“ Excel 值”。  



    使用编辑栏旁边的 Python 输出菜单更改输出类型。 绘图图像现在显示在单元格中。

    提示: 若要在 Python 对象和 Excel 值之间切换 Python 公式结果,请使用键盘快捷方式 Ctrl+Alt+Shift+M。 若要了解键盘快捷方式的详细信息,请参阅 Excel 中的 Python 键盘快捷方式

  2. 绘图图像的大小取决于单元格的大小。 通过增加单元格的大小或 合并单元格来增加图像的大小。

创建自己的绘图和图表 

现在,你已了解如何在 Excel 绘图和图表中使用示例数据集创建 Python,请在 Excel 工作簿中输入自己的数据并创建自定义可视化效果。  

若要导入外部数据以在 Excel 中与 Python 配合使用,请使用 Power Query。 若要了解详细信息,请参阅使用 Power Query 在 Excel 中导入 Python 数据

相关文章 

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×