如何使用python-pptx修改日期坐标轴的基础单位与主刻度值
可以实现,python-pptx支持对日期坐标轴的基础单位、主刻度间隔进行调整,具体操作方法如下:
核心属性说明
- 日期坐标轴的基础单位对应
base_unit属性,可选值包括天、月、年三类枚举值 - 主刻度间隔对应
major_unit属性,配合major_unit_scale指定间隔的单位尺度,即可实现每隔N个指定单位显示一个刻度标签
完整代码示例
from pptx import Presentation from pptx.enum.chart import XL_BASE_UNIT, XL_TIME_UNIT # 加载本地PPT文件 prs = Presentation("你的原演示文稿路径.pptx") # 按实际需求调整幻灯片、图表的索引值,此处取第1张幻灯片的第1个图表 slide = prs.slides[0] chart = slide.shapes[0].chart # 校验X轴是否为日期坐标轴 date_axis = chart.category_axis if not date_axis.is_date_axis: raise ValueError("当前图表X轴不属于日期坐标轴,无法设置日期相关属性") # 设置X轴基础单位为年 date_axis.base_unit = XL_BASE_UNIT.YEARS # 设置主刻度间隔为5年 date_axis.major_unit = 5 date_axis.major_unit_scale = XL_TIME_UNIT.YEARS # 可选配置:设置次刻度间隔为1年 # date_axis.minor_unit = 1 # date_axis.minor_unit_scale = XL_TIME_UNIT.YEARS # 保存修改后的PPT文件 prs.save("修改后的演示文稿路径.pptx")
注意事项
- 只有时序类图表的X轴属于日期坐标轴,普通分类轴调用以上属性会报错,建议通过
is_date_axis属性提前校验 - 基础单位
base_unit可选枚举值:XL_BASE_UNIT.DAYS(天)、XL_BASE_UNIT.MONTHS(月)、XL_BASE_UNIT.YEARS(年) - 刻度单位尺度
major_unit_scale/minor_unit_scale可选枚举值和基础单位一致,二者可独立配置,比如设置基础单位为年、主刻度间隔为24个月,最终效果和间隔2年完全一致
内容的提问来源于stack exchange,提问作者scottyak12
相关产品推荐
相关产品推荐

