python-pptx - 无法更新一个数据点的数据标签文本

python-pptx - cannot update one data point's datalabel text

我正在尝试更新 1 个特定数据标签的文本,但它关闭了其兄弟项的数据标签。

#turn on data labels
plot = chart.plots[0]
plot.has_data_labels = True

#add custom text to the 1st series' 1st data point. Ignore the rest.
plot.series[1].points[1].data_label.text_frame.text = '▲'

这就是它的作用,请注意 plot.series[1].points[0]plot.series[1].points[2] 的数据标签现在是如何关闭的。

预期输出:

是的,PowerPoint 就是这样做的; series-level data-label 设置不会级联到 data-point 级别。您可以为系列中的所有类别使用在系列级别生成的标签,或者必须在数据点级别指定每个标签。当您为单个数据点编辑标签时,PowerPoint 应用程序所做的是在每个 data-point 上添加 series-level 标签属性的副本;这就是为什么您在 PowerPoint 应用程序中工作时看起来只能更改一个。

python-pptx 不会执行抢占式复制,因此在 data-point 级别设置数据标签似乎“shut-off”所有其他数据标签。

无论如何,如果您想更改一个或多个级别标签,则需要为系列指定所有 data-point 级别标签。