pptx-python 不需要的图表标题

pptx-python unwanted chart title

在创建带有折线图的新 powerpoint 幻灯片时,我一直得到图表标题,即使我没有要求图表标题。我尝试了各种方法来使用 chart.has_title=Falsechart.has_text_frame = False 的组合来摆脱它,但似乎没有任何效果。

我查看了 xml 图表运行良好时与现在显示此不需要的标题之间的差异。除此之外,还有这个 <c:autoTitleDeleted val="0"/> 属性。在 python-pptx chart.xmlwriter 源代码本身中,我将值更改为 1,图表标题消失了,所以我认为这是这个不需要的标题的根本原因——我不知道为什么 autoTitleDeleted 元素现在被从 python-pptx 添加到 xml。

我也看到了这个问题 https://github.com/scanny/python-pptx/issues/460,但是当我尝试实施修复时出现以下错误:

    autoTitleDeleted = chart_element.get_or_add_autoTitleDeleted()
AttributeError: 'CT_Chart' object has no attribute 'get_or_add_autoTitleDeleted'

而且我在文档中的任何地方都找不到 get_or_add_audoTitleDeleted 方法,在源代码中也找不到。

我也尝试通过简单地执行以下操作手动更改 xml:

chart._element.xml = xml.replace('autoTitleDeleted val="0', 'autoTitleDeleted val="1')

但是我得到了 AttributeError: can't set attribute

所以我有 3 个问题:

1) 我该如何解决这个问题?

2) 将来,当我发现 xml 导致问题时,我该如何手动更改它? xml 有什么地方可以操作的图书馆吗?

3) 为什么首先添加这个 autoTitleDeleted 元素?

我会检查您的 python-pptx 版本。正是出于这个原因,最近才添加了这个新属性。我建议升级到最新版本 0.6.18 看看会发生什么。回溯报告未找到该属性的事实是先前版本的证据。您可以在此处查看提供该属性的代码:
https://github.com/scanny/python-pptx/blob/master/pptx/oxml/chart/chart.py#L40