- 安装依赖和库
首先需要Python版本大于等于3.6,并在环境变量中配置好Python路径。
在命令行窗口中使用pip命令安装openpyxl、pandas和matplotlib库:
pip install openpyxl
pip install pandas
pip install matplotlib
- 创建Excel表格
在Python代码中创建Excel表格并添加数据,可以使用openpyxl库中的Workbook、Worksheet和Cell类。
在代码中引入openpyxl库:
import openpyxl
然后可以使用Workbook类创建新的Excel表格文件:
workbook = openpyxl.Workbook()
在这个Workbook对象中可以创建Worksheet对象,也就是Excel表格中的工作表:
worksheet = workbook.active
使用Cell类往工作表中添加数据:
worksheet['A1'] = '年份'
worksheet['B1'] = '销售额'
worksheet['A2'] = '2016'
worksheet['B2'] = 12000
worksheet['A3'] = '2017'
worksheet['B3'] = 18000
worksheet['A4'] = '2018'
worksheet['B4'] = 22000
- 在Excel表格中插入Matplotlib可视化图表
可以使用matplotlib库中的plot方法和figure对象绘制Matplotlib图表。
首先在Python代码中引入matplotlib库:
import matplotlib.pyplot as plt
在代码中创建一个Matplotlib图表,例如:
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(['2016', '2017', '2018'], [12000, 18000, 22000], '-o')
然后使用savefig方法将Matplotlib图表保存为图片文件,并使用openpyxl库中的add_picture方法将图片插入到Excel表格中:
fig.savefig('sales.png')
img = openpyxl.drawing.image.Image('sales.png')
img.anchor = 'D1'
worksheet.add_image(img)
其中,add_image方法需要传入一个openpyxl.drawing.image.Image对象,该对象从保存好的图片文件中构造得到。
- 完整示例1:在Excel表格中插入一张Matplotlib折线图
import openpyxl
import matplotlib.pyplot as plt
# 创建Excel表格
workbook = openpyxl.Workbook()
worksheet = workbook.active
# 在Excel表格中添加数据
worksheet['A1'] = '年份'
worksheet['B1'] = '销售额'
worksheet['A2'] = '2016'
worksheet['B2'] = 12000
worksheet['A3'] = '2017'
worksheet['B3'] = 18000
worksheet['A4'] = '2018'
worksheet['B4'] = 22000
# 在Matplotlib中绘制折线图
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(['2016', '2017', '2018'], [12000, 18000, 22000], '-o')
# 保存Matplotlib图表为图片
fig.savefig('sales.png')
# 将Matplotlib图表插入到Excel表格中
img = openpyxl.drawing.image.Image('sales.png')
img.anchor = 'D1'
worksheet.add_image(img)
# 保存Excel表格文件
workbook.save('sales.xlsx')
- 完整示例2:在Excel表格中插入一张Matplotlib饼图
import openpyxl
import matplotlib.pyplot as plt
# 创建Excel表格
workbook = openpyxl.Workbook()
worksheet = workbook.active
# 在Excel表格中添加数据
worksheet['A1'] = '水果'
worksheet['B1'] = '销售量'
worksheet['A2'] = '苹果'
worksheet['B2'] = 120
worksheet['A3'] = '橙子'
worksheet['B3'] = 180
worksheet['A4'] = '香蕉'
worksheet['B4'] = 220
# 在Matplotlib中绘制饼图
fig = plt.figure()
ax = fig.add_subplot(111)
ax.pie([120, 180, 220], labels=['苹果', '橙子', '香蕉'], autopct='%.1f%%')
# 保存Matplotlib图表为图片
fig.savefig('fruit.png')
# 将Matplotlib图表插入到Excel表格中
img = openpyxl.drawing.image.Image('fruit.png')
img.anchor = 'D1'
worksheet.add_image(img)
# 保存Excel表格文件
workbook.save('fruit.xlsx')
以上就是利用Python将Matplotlib可视化插入到Excel表格中的完整攻略,包含两个示例:插入折线图和插入饼图,可以根据实际需求进行改动和扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python将 Matplotlib 可视化插入到 Excel表格中 - Python技术站