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

Python中文社区

共 1340字,需浏览 3分钟

 ·

2021-04-14 21:56

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 定时任务框架

特别推荐




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

浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报