我使用以下代码为 python-pptx 生成的条形图指定条形的特定颜色。
chart.series[0].format.fill.solid()
chart.series[0].format.fill.fore_color.rgb = RGBColor(160,190,230)
大多数时候这看起来都很好。然而,条形图有负值,条形图出现了几个问题。
我已经尝试过以下两个选项均无效。
chart.series[0].invert_if_negative = True
chart.series[0].invert_if_negative = False
有没有办法使图表正确渲染,具有颜色并且不与类别名称重叠?
嗯,这是两个问题。但就类别名称重叠而言,您可以通过将刻度标签位置设置为 LOW 来解决此问题:
from pptx.enum.chart import XL_TICK_LABEL_POSITION
category_axis = chart.category_axis
category_axis.tick_label_position = XL_TICK_LABEL_POSITION.LOW
在透明(或可能是白色)彩色条上,我怀疑您可能会看到与其他地方出现的规范不符的依赖于 PowerPoint 版本的情况。我会在 PowerPoint 中打开它,看看您可以在属性对话框中看到什么,如果负数反转选项是否按照您设置的方式显示,以及当您使用 PowerPoint UI 手动设置它时它是否运行。
如果在使用以下命令将其设置为 True 时,在数据系列 > 填充(格式)对话框中未选中“如果为负则反转”复选框python-pptx
并且单击该复选框可以解决显示问题,您可以在python-pptx
GitHub 问题列表,我们将在下一个版本中修复。
基本上,某些版本的 PowerPoint 会不一致地解释诸如此类的布尔元素类型,具体取决于元素 (<c:invertIfNegative> in this case
),因此虽然它通过了测试,但它在所有 PowerPoint 版本中的表现并不符合预期。可能这就是你所看到的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)