Python-pptx 库 - 打印类别名称

Python-pptx Library - printing Category Name

有没有办法在图表中打印一个系列的类别名称

from pptx import Presentation
from pptx.chart.data import ChartData
shape = slide_11.shapes[5]
ReachChart = shape.chart
reach_data = ChartData()
reach_data.categories = ['reach 1', 'reach 2']
reach_data.add_series('series', tuple(3.145, 7.526))
ReachChart.replace_data(reach_data)

我可以使用以下方法打印系列值

for i in shape.chart.series:
  print(i.values)

以同样的方式,我需要打印类别值(如 'reach 1' 和 'reach 2')

我认为您正在寻找 chart.plots[0].categories,描述了 here in the documentation

A plot 是单一类型的 "sub"-图表,例如条形图或折线图。因为 PowerPoint 可以将这些组合成一个 "combo-chart",其中一些系列有条形,另一些系列有一条线,所以图表需要能够有多个图。在大多数情况下只有一个,因此 plots[0] 指的是第一个。

在你的情况下它会是这样的:

for cat in shape.chart.plots[0].categories:
    print(cat.label)

API 周围的类别实际上比这更复杂一些,以提供分层标签(如沿轴的子组)。但是在您的情况下,您应该能够忽略 Categories 对象上的附加属性并以这种直接的方式进行操作,除非您以后遇到分层类别。