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

数据管道

共 1363字,需浏览 3分钟

 ·

2021-04-19 11:01

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()
最终效果:
下面是另外一张效果图,大家可以看一下!

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

推荐阅读

  1. 超细节!数据分析社招面试指南

  2. 写给所有数据人。

  3. 从留存率业务案例谈0-1的数据指标体系

  4. 数据分析师的一周

  5. 超级菜鸟如何入门数据分析?


欢迎长按扫码关注「数据管道」

浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报