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 级别标签。
我正在尝试更新 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 级别标签。