超赞!你绘制的matplotlib图,可以直接嵌入到Excel中了!

373 阅读3分钟

1. 本文思路

matplotlib应该是Python中最基础、最常用的Python绘图库!大部分利用Python进行数据分析的人应该都用过,这不是本章的重点,我也就不再赘述。

大家应该知道,绘制的matplotlib图,一般都是直接展示在控制台,供我们观看的。但是将绘制的matplotlib嵌入到Excel中,这个需求真的有点新颖。

我们已经知道matplotlib可以绘制很多种图形。如果可以完成上述操作,我们是否还可以实现这样的需求:利用pandas读取Excel中的数据,利用matplotlib绘图,然后将绘制的图形嵌入到Exce中,然后发给同事,彷佛你是在Excel中完成一样。(想法太赞!)

2. 需求实现

首先,有这样一个Excel表,数据如下:

那么,如何实现上述提到的这个需求呢?这里我们使用的是Python中的xlwings库。下面,我们分步骤为大家讲解这个过程。

① 利用pandas读取Excel数据

利用pandas我们可以读取各种各样格式的数据,这里我们读取的是xlsx格式的Excel数据。

import pandas as pd

df = pd.read_excel("matplotlib.xlsx")
df

结果如下:

② 利用matplotlib绘图

这里我也不讲述很负责,我们就以一个简单的折线图为例,进行说明。

import matplotlib.pyplot as plt

figure = plt.figure()
plt.plot(df["x"],df["y"])
plt.show()

结果如下:

③ 利用xlwings将上述图形嵌入到Excel中

这里我将绘制的图形,写入到了一个新工作表中。大家可以下去思考,怎么讲数据和图形放置在同一个工作表中。

import xlwings as xw

app = xw.App(visible=False)
wb = app.books.add()
ws = wb.sheets.add("新工作表")
# 将绘制的图形写入到工作簿,直接传入画布(figure)对象
ws.pictures.add(figure)
wb.save("matplotlib1.xlsx")
wb.close()
app.quit()

最终效果:

下面是另外一张效果图,大家可以看一下!

拓展: 这篇文章主要是想为大家讲解一个解题思路,具体的细节问题,需要大家自行下去挖掘学习。文中涉及到的三个库,建议学习数据分析的朋友都下去学习一下。

更多阅读

2020 年最佳流行 Python 库 Top 10\

2020 Python中文社区热门文章 Top 10\

5分钟快速掌握 Python 定时任务框架\

特别推荐\

\

点击下方阅读原文加入 社区会员