- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个布局,可用于生成数百张幻灯片,显示 Excel 文件中包含的数据。
我已经能够使用 python-pptx(我不熟悉 VBA)编写宏,使用 PowerPoint 布局占位符生成包含所需文本的幻灯片。
现在我需要根据布局中指定的图表在每张幻灯片上添加一个图表(每个图表包含特定数据系列)。可以用 python-pptx 实现吗?如果不是,有什么替代方案(使用 Python)?
最佳答案
这是可能的。您可以使用图表占位符,也可以从指定的布局图表中获取参数并根据布局图表创建新图表。
所有参数都在 https://python-pptx.readthedocs.io/en/latest/ 中有详细记录.
这是一个或多或少取自使用图表占位符的文档的示例:
from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
prs = Presentation('test.pptx')
# either add slide with chart placeholder layout
slide = prs.slides.add_slide(prs.slide_layouts[1])
# or choose existing slide
slide = prs.slides[3]
# get the relevant placeholder object
for shape in slide.placeholders:
print( '%d %s' % (shape.placeholder_format.idx, shape.name))
placeholder = prs.slides[3].placeholders[10] # idx key, not position
# it's important to have chart placeholder
placeholder.name
# 'Chart Placeholder 1'
placeholder.placeholder_format.type
# CHART (12)
# fill ChartData object with your data
chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))
graphic_frame = placeholder.insert_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, chart_data)
另一种可能性更复杂,但您可以根据定义的“布局”定义所生成图表的几乎所有细节。对于这种情况,您需要一张带有适当格式示例图表的 PowerPoint 幻灯片。
# presentation with example chart
prs = Presentation('chart-01.pptx')
# presentation to add the new chart to
prs2 = Presentation('test1.pptx')
blank_slide_layout = prs2.slide_layouts[6]
# get information from the example chart
# shape which contains chart
bchart = prs.slides[3].shapes[0]
cx = deepcopy(bchart.width)
cy = deepcopy(bchart.height)
x = deepcopy(bchart.left)
y = deepcopy(bchart.top)
chart_type = bchart.chart.chart_type
# further formatting information possible:
# bchart.chart.has_legend, bchart.chart.legend..., bchart.chart.value_axis..., bchart.chart.category_axis...
# define chart area
chart_pl_area = deepcopy(bchart.chart._chartSpace.chart.plotArea[0])
# define chart data
chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))
# add new slide without chart/blank
new_sli = prs2.slides.add_slide(blank_slide_layout)
# add chart with defined parameters and data
new_chart = new_sli.shapes.add_chart(
chart_type, x, y, cx, cy, chart_data
)
我希望这个想法变得清晰。占位符方式更容易进行,但如果您需要指定比占位符中可能的更多内容,则需要采用第二种方式。
关于python - 如何使用 Python 生成包含在 PowerPoint 布局上定义的图表的幻灯片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53867495/
我制作了一个 jquery 幻灯片,代码如下: HTML previous Next CSS #slideshow { width: 700px; h
我正在用 Javascript 制作幻灯片,带有播放/暂停和下一个/上一个按钮。我已经设法使用播放/暂停按钮进行幻灯片放映,但现在我想向其中添加“下一个”和“上一个”按钮。有人可以帮我吗?我该怎么做?
我是 Java 脚本新手,我正在尝试为我的页面构建幻灯片。这是我的 html 代码: 和我的 Js 脚本: var numar_ima
我可以修改此现有代码以自动滚动列表项以显示内容吗? 抱歉,:ul li a {} 链接。 也许使用“间隔”方法? $(document).ready(function(){ $('ul.tab
我正在尝试熟悉 jQuery 工具 - Flowplayer 中的幻灯片 ( http://flowplayer.org/tools/tabs/slideshow.html )。有没有人提示我如何选择
这个问题在这里已经有了答案: Return to 1st image on slideshow (2 个答案) 关闭 3 年前。 有谁知道如何在此幻灯片中添加另一个按钮,使用户在幻灯片放映期间的任何
我知道这听起来很傻,我可以使用一些现成的解决方案,但我真的很想构建自己的简单图像幻灯片。我在 Silverlight/WPF 中进行应用程序开发已经有一段时间了,但无论出于何种原因,我都无法解决这个问
我正在尝试设置此幻灯片脚本,以便显示的第一张图片是随机的(每次我们访问该网站时,我都需要第一张图片是不同/随机的幻灯片),其余图片可以显示在正确的顺序,没关系。 我正在使用 Jon Raasch 的简
我们的 flexslider 上最后一张图片的一小部分在幻灯片加载后立即闪烁整个页面。第一个图像设置为可见,所有其他图像设置为隐藏。插件设置为在页面加载后运行。我认为可能是页面上的其他原因导致了此问题
我有一个自动幻灯片放映效果很好。但是,我希望能够改变某些幻灯片的速度这是代码: var slideIndex = 0; showSlides(); function showSlides() {
如有任何帮助,我们将不胜感激! 我正在尝试从以下位置实现脚本: www.switchonthecode.com/tutorials/jquery-creating-a-slideshow 但我希望它连
我用 javascript 创建了以下幻灯片。但是由于某种原因,在第一张图片滑过时,第一张图片刚好移开,而第二张图片进行了“滑动”。任何帮助,将不胜感激。我添加了注释以帮助提高代码的可读性。
我正在使用在以下网站在线找到的带缩略图的图像幻灯片。有谁知道我将如何更改此幻灯片,以便将缩略图列在幻灯片的右侧,而不是列在其下方。如果您转到下面的链接,然后单击查看演示,您可以看到我的幻灯片目前是如何
我希望在悬停链接时有过渡效果。我希望在链接后顺利显示文本。 这就是我目前所拥有的: p { border-radius: 1em; padding: 0.5em; backgr
我喜欢jQuery的幻灯片效果,当你move a cursor on some of products 我正在尝试使用类似的功能实现相同的效果,但有一个区别 - 当我在框上移动光标时,我想显示带有信息
我正在尝试创建自己的幻灯片。以下代码从一张图像淡入另一张图像。我想从 img1.jpg 循环到 img4.jpg,但我不确定如何在每次更改后暂停。 i++;
jquery 中的代码是什么,可以让幻灯片放映在最后一张照片上单击“下一步”后显示第一张照片。我知道我只需要写一次文档准备好,但我还没有这样做,但我会的。这是我的代码
如何添加指向这些图像的链接。我尝试过多种幻灯片放映方式,但发现当我添加链接时,它开始不显示所有其他图像。在我下面的代码中,我将链接注释掉了。如果我删除链接,图像显示正常。 我已经重复了两次图像只是为了
我似乎无法制作完全可用的 CSS 幻灯片,其中幻灯片的显示时间各不相同。我需要使用多个关键帧还是有其他方法可以做到这一点?如果是,将不胜感激 :^) 最佳答案 您可以使用单个关键帧设置和 CSS3 的
我用 HTML/CSS/JS 制作了这个小幻灯片。 大部分都在工作,但有一件事我想不通。 当自动滑动打开时,如何使每个图像上方的文本适合 img 本身? 现在它只在我手动点击时显示每个 img 的正确
我是一名优秀的程序员,十分优秀!