- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个使用 Python PPTX 创建的面积图,我需要设置系列的填充透明度。我已经通过下面的解决方法实现了这一点,但它似乎太复杂了。我希望 python-pptx 提供实用功能,这样就不需要破解 lxml 了。
from lxml.etree import Element, SubElement, QName
ns = "http://schemas.openxmlformats.org/drawingml/2006/main"
xPr = prs.slides[3].placeholders[17].chart.series[0].format.fill._xPr
srgbClr = xPr.get_or_change_to_solidFill().get_or_change_to_srgbClr()
alpha = SubElement(srgbClr, QName(ns ,'alpha'), nsmap={'a':ns})
alpha.set('val','50196')
实现这一目标的更简洁的方法是什么?
最佳答案
嗯,我不确定它是否干净很多,但如果你想使用python-pptx
尽可能多地调用,这可能是考虑的替代方案:
from pptx.dml.color import RGBColor
from pptx.oxml.xmlchemy import OxmlElement
# ---set the fill to solid red using regular python-pptx API---
chart_fill = prs.slides[3].placeholders[17].chart.series[0].format.fill
chart_fill.solid()
chart_fill.fore_color.rgb = RGBColor(255, 0, 0)
# ---add an `a:alpha` child element---
solidFill = chart_fill.fore_color._xFill
alpha = OxmlElement('a:alpha')
alpha.set('val', '50196')
solidFill.srgbClr.append(alpha)
总体概念是python-pptx
API 对象如 chart
和format
是 lxml 元素的代理对象。 API 对象在私有(private)变量中组成(“包装”)lxml 元素对象。例如,对于自动形状,私有(private)变量为 Shape._sp
。只要有可能(几乎总是),该变量就与元素具有相同的名称,例如 _sp
对于 <p:sp>
。有时元素可以有不同的名称。在这种情况下,我将变量部分替换为 x
。所以_xFill
有时可能是 a:solidFill 对象,有时可能是 a:pattFill 对象。
此外,不久前我开始使用 ._element
作为代理元素的变量名称,因此它是标准化的。通常我两者都有(例如 _sp
和 _element
引用相同的元素对象),因为它们在不同的情况下都很方便。
要知道变量名是什么,您可以猜测(一旦您知道了模式,这种方法的工作频率就比您预期的要高),或者您可以检查代码或内省(introspection)对象。单击[source]
找到正确的代理对象后,访问 API 文档中的链接是检查代码的快速方法。 http://python-pptx.readthedocs.io/en/latest/api/dml.html#pptx.dml.color.ColorFormat
关于Python-PPTX 面积图透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863635/
我正在尝试使用 old.pptx 创建 new.pptx 。 old.pptx 中有 4 张幻灯片。我想创建内容几乎相同的 new.pptx,并在 4 张幻灯片中进行少量文本修改。我跳过了下面代码的修
我正在尝试创建 1000 个 powerpoint 演示文稿。我正在使用 python pptx 来实现这一点。到目前为止一切顺利,但我不喜欢默认为 4:3 的幻灯片大小。我可以创建模板幻灯片(使用自
我正在尝试解压缩 Microsoft Office 文件(.docx 和 .pptx),修改一些内容,然后重新压缩为新的 .docx 或 .pptx 文件。 我使用 .docx 文件成功地做到了这一点
我可以使用以下代码删除/覆盖一些元数据(存储在 core.xml 中的元数据): def remove_metadata(prs): """Overwrites the metadata in
这是我正在尝试学习的方法: 我工作的公司大约有。 120 多个 .pptx 文件,全部是使用 .potx PowerPoint 模板多年来手动创建的 一位图形设计师创建了一个时髦的新模板 我的老板给我
我尝试启用自动导入图片,以防止每次手动添加 100 张图片。我似乎无法访问图片的占位符并用新图片替换它们。 一些正确方向的指南会很有帮助。 我开始的代码: import pptx import ppt
我正在尝试更新 1 个特定数据标签的文本,但它关闭了其 sibling 的数据标签。 #turn on data labels plot = chart.plots[0] plot.has_data_
作为对 this answer 的回复对于我之前的一个问题,我编写了以下短程序来尝试重现该问题。 from pptx import Presentation from io import BytesI
我正在尝试为我创建的矩形自动形状的边框添加颜色,如下所示。默认颜色似乎是蓝色,但我不确定如何将其修改为自定义颜色。 shapes = slide.shapes left = top = width =
我正在尝试适应条形图 Y 轴,范围从 0 到 1,小数点后一位,例如:刻度标签为 1.2: 我可以将它设置为从 0 开始: Thisvalue_axis.minimum_scale = 0 我可以设
我想使用 python-pptx 模块来更改给定 powerpoint 演示文稿中每个包含文本的形状的校对语言。 不幸的是,我没有管理。 :( 我正在使用 Python 3.6.3 和 python-
我正在使用 python-pptx 0.6.0,并创建了一张包含内容和标题的幻灯片。我想将图片插入到内容占位符中,但没有诸如 add_picture 或 insert_picuture 之类的属性可供
我使用 python 2.7 和 python pptx。 我有一个数据表,需要它以一定的宽度和高度为单位, 我了解到我可以像这样更改文本大小 enter link description here
我需要将图像添加到 pptx 幻灯片中,并希望将其定位在幻灯片的中心,而无需手动计算大小和对齐方式, 我发现了一个关于使用文本执行此操作的问题: question about center align
我使用 python 2.7 和 python pptx。 我有一个数据表,需要它以一定的宽度和高度为单位, 我了解到我可以像这样更改文本大小 enter link description here
我使用 python pptx 包(python 2.7)创建一个 pptx 文件 我在内存中有一个图像,是我使用 matplotlib 通过以下代码创建的: import matplotlib.py
如何切换下面标记为红色的参数(英文:python pptx 中的“showcategories”以显示饼图?任何想法表示赞赏。 最佳答案 显然有一个功能请求:https://github.com/sc
我正在使用Python库python-pptx生成一些powerpoint,在某些情况下 - 正在生成的文本位于幻灯片之外(因为有两个项目符号或文本太大)。 例如: +----------------
我对 python-pptx 包比较陌生,但我发现它非常有用。 我添加了一张具有“标题、图片和标题”布局的幻灯片。 SLD_LAYOUT_TITLE_AND_PICTURE_AND_CAPTION =
如何复制幻灯片? 我创建了一个模板幻灯片,我需要复制它并分别编辑每个副本的形状。 或者如何将模板幻灯片添加到 presentation.slide_layouts? 最佳答案 这是我在 GitHub
我是一名优秀的程序员,十分优秀!