python-pptx - python-pptx - 无法更新一个数据点的数据标签文本
问题描述
我正在尝试更新 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 就是这样做的。系列级别的数据标签设置不会级联到数据点级别。您可以为系列中的所有类别使用在系列级别生成的标签,或者您必须在数据点级别指定每个类别。当您为单个数据点编辑标签时,PowerPoint 应用程序所做的是在每个数据点上添加系列级标签属性的副本;这就是为什么在 PowerPoint 应用程序中工作时看起来您可以只更改一个的原因。
python-pptx
不会进行抢先复制,因此在数据点级别设置数据标签似乎会“关闭”所有其他数据标签。
在任何情况下,如果您想更改其中的一个或多个,您都需要为一个系列指定所有数据点级别的标签。
推荐阅读
- java - 什么数据结构可以用来存储具有多个可比较属性的对象
- javascript - JS 模块“YAML”不使用文档格式的引号进行字符串化
- java - Amazon Keyspace (Cassandra) 查询没有节点可用于执行查询
- rust - 关于引用的可变性和引用所指值的可变性的一些混淆
- reactjs - 如何使用 webpack 使 create-react-app 支持 .mjs 文件?
- android - Firebase 反编译 Google-services.json 以填充 quata
- html - 禁止(CSRF 令牌丢失或不正确。)Django
- qt - QFont.toString() 的格式是否在 Qt 版本中记录和/或稳定?
- mysql - 如何在一对一关系中使用 onDelete: 'CASCADE'
- python - 重试时的Python Tenacity日志异常