利用python将 Matplotlib 可视化插入到 Excel表格中

  • Post category:Python

下面是详细的教程。

1. 安装依赖库

在使用 Python 将 Matplotlib 可视化插入到 Excel 表格中之前,需要安装以下依赖库:

  • pandas
  • openpyxl
  • matplotlib
  • pillow

可以使用 pip 工具来安装:

pip install pandas openpyxl matplotlib pillow

2. 创建 Excel 表格

在 python 中创建 Excel 表格可以使用 openpyxl 库。在这个示例中,我们将创建一个简单的工作簿,并在其中创建一个工作表:

# 导入 openpyxl 库
import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取当前工作表
worksheet = workbook.active

# 在表格的第1行和第1列中创建一个单元格
worksheet.cell(row=1, column=1, value="Hello World!")

# 保存工作簿
workbook.save("hello_world.xlsx")

这段代码首先导入了 openpyxl 库,然后创建了一个新的工作簿,并获取其中的工作表。之后,在表格的第 1 行和第 1 列中创建了一个单元格,并将它的值设置为 “Hello World!”。最后,将工作簿保存到文件中。

3. 构建图表信息

使用 Matplotlib 可视化数据需要有相应的数据。在这个示例中,我们将使用 pandas 库来生成随机数据,并使用 Matplotlib 将其可视化。

# 导入 pandas 和 matplotlib 库
import pandas as pd
import matplotlib.pyplot as plt

# 创建随机数据
data = pd.DataFrame({"x": range(10), "y": [i * i for i in range(10)]})

# 创建一个图表
fig, ax = plt.subplots(figsize=(8,4))

# 绘制图表
ax.plot(data.x, data.y)

# 设置图表标题
ax.set_title("y=x^2")

# 保存图表到文件中
fig.savefig("chart.png")

这段代码首先导入 pandas 和 Matplotlib 库。然后,使用 pandas 生成了一组随机数据,数据包含 x 和 y 两列。

接着,创建了一个图表,并使用 Matplotlib 来绘制数据。最后,将图表保存到文件中,以备后续插入到 Excel 表格中使用。

4. 将图表插入到 Excel 表格中

接下来,我们将利用 openpyxl 库中的 insert_image() 方法将图表插入到 Excel 表格中。注意,在插入之前,需要计算图表应该插入到的单元格的位置。

# 导入 openpyxl 中的插入图片的方法
from openpyxl.drawing.image import Image

# 打开工作簿并读取工作表
workbook = openpyxl.load_workbook("hello_world.xlsx")
worksheet = workbook.active

# 将图片插入下一行的第1列
img = Image("chart.png")
worksheet.add_image(img, "A2")

# 保存工作簿
workbook.save("hello_world.xlsx")

这段代码中,我们首先从 openpyxl 库中导入插入图片的方法。然后,打开了之前创建的工作簿并获取了其中的活动工作表。

接着,使用 add_image() 方法将之前创建的图表插入到了工作表的下一行的第 1 列中。最后,将工作簿保存到文件中。

5. 运行程序并查看结果

最后,我们在命令行中运行程序,并查看生成的 Excel 文档中是否有图表。

python my_program.py

程序运行结束后,打开 hello_world.xlsx 文件,并查看其中的工作表。可以看到,除了之前创建的文本单元格外,还插入了一张图片,这张图片即为之前创建的图表。