为Excel添加图表 您所在的位置:网站首页 excel表里每页添加表头 为Excel添加图表

为Excel添加图表

2023-06-05 01:59| 来源: 网络整理| 查看: 265

代码整体

import os from openpyxl import load_workbook from openpyxl.chart import LineChart, Reference # 设置目标文件夹路径 path = './各部门利润表汇总/' # 获取文件夹下的所有文件名 file_list = os.listdir(path) # 遍历文件名列表,取得每一个文件名 for file_name in file_list: # 拼接文件路径 file_path = path + file_name print('正在处理:' + file_name) # 读取工作簿 wb = load_workbook(file_path) # 读取工作簿中的活跃工作表 ws = wb.active # 实例化 LineChart() 类 chart = LineChart() # 引用工作表的部分数据 data = Reference(worksheet=ws, min_row=3, max_row=9, min_col=1, max_col=5) # 添加被引用的数据到 LineChart 对象 chart.add_data(data, from_rows=True, titles_from_data=True) # 添加 LineChart 对象到工作表中,指定生成折线图的位置 ws.add_chart(chart, "C12") # 引用工作表的表头数据 cats = Reference(worksheet=ws, min_row=2, max_row=2, min_col=2, max_col=5) # 设置类别轴的标签 chart.set_categories(cats) # 设置 x 轴的标题 chart.x_axis.title = "季度" # 设置 y 轴的标题 chart.y_axis.title = "利润" # 改变折线图的样式,范围在 1~48 chart.style = 48 # 保存文件 wb.save(file_path) 一、循环打开Excel文件

首先设置目标文件夹路径path,然后使用os.listdir(path)获取该文件夹下所有的“文件名”,形成列表,然后遍历列表,与path组合成完整的文件路径,读取工作簿wb,读取工作簿中活跃的工作表ws。

import os from openpyxl import load_workbook from openpyxl.chart import LineChart, Reference # 设置目标文件夹路径 path = './各部门利润表汇总/' # 获取文件夹下的所有文件名 file_list = os.listdir(path) # 遍历文件名列表,取得每一个文件名 for file_name in file_list: # 拼接文件路径 file_path = path + file_name print('正在处理:' + file_name) # 读取工作簿 wb = load_workbook(file_path) # 读取工作簿中的活跃工作表 ws = wb.active 二、折线图绘制

步骤一:确认图的类型。 创建LineChart 对象(折线图对象)。(补充:BarChart——条形图)

步骤二:引用表格的数据。 创建Reference 对象引用表格的数据,本案例引用了工作表对象ws中第3行到第9行、第1列到第5列矩形区域的数据。 参数worksheet指明被引用数据所在的工作表对象。 参数min_row、max_row、min_col、max_col:指明被引用数据的区域。

然后调用方法LineChart对象.add_data()将被引用的数据添加至LineChart 对象。 第一个参数是被引用的数据,它是Reference对象, 第二个参数from_rows(中文翻译为:来自行) 当from_rows设置为True时,引用区域的每行数据绘制一条折线。 当from_rows设置为False时,引用区域的每列数据绘制一条折线。 第三个参数titles_from_data(图例的名称来自数据) 当titles_from_data = True时,被引用的数据的首列用于命名图例。后续的数据用于绘制折线。 当titles_from_data = False时,会以“系列1”…“系列n”命名图例,被引用的数据全用于绘制折线。

步骤三:设置图在工作表的位置。 通过调用方法工作表对象.add_chart(),将图添加至工作表中,并设置图在表格中的位置。 第一个参数,指明被添加至工作表的图表对象,这里是LineChart对象。 第二个参数 anchor:设置图在工作表的位置。

# 实例化 LineChart() 类 chart = LineChart() # 引用工作表的部分数据 data = Reference(worksheet=ws, min_row=3, max_row=9, min_col=1, max_col=5) # 添加被引用的数据到 LineChart 对象 chart.add_data(data, from_rows=True, titles_from_data=True) # 添加 LineChart 对象到工作表中,指定生成折线图的位置 ws.add_chart(chart, "C12")

在这里插入图片描述

三、折线图信息及样式的优化

步骤一:修改类别轴的标签。 创建Reference 对象,调用方法LineChart对象.set_categories()。 方法LineChart对象.set_categories(), 可以引用表格中的数据来设置类别轴的标签。(set中文翻译:设置;categories中文翻译:类别) 该方法的使用很简单:LineChart对象.set_categories(Reference对象), Reference对象指明所要引用的数据。

步骤二:添加X轴、Y轴的标题。 修改LineChart对象的属性x_axis.title、y_axis.title的值。 设置属性LineChart对象.x_axis.title、LineChart对象.y_axis.title的值,可以为折线图添加X轴、Y轴的标题。(x_axis、y_axis中文翻译:x轴、y轴;title中文翻译:标题)

步骤三:修改图的样式。 修改属性LineChart对象.style的值。 设置LineChart对象.style的值,可以调整折线图的样式(折线图背景颜色、折线图线条颜色)。LineChart对象.style的值可以设置为1到48的整数(包括1和48)。

# 引用工作表的表头数据 cats = Reference(worksheet=ws, min_row=2, max_row=2, min_col=2, max_col=5) # 设置类别轴的标签 chart.set_categories(cats) # 设置 x 轴的标题 chart.x_axis.title = "季度" # 设置 y 轴的标题 chart.y_axis.title = "利润" # 改变折线图的样式,范围在 1~48 chart.style = 48

在这里插入图片描述

四、保存Excel文件 wb.save(file_path)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有