python-pptx - Python-pptx:更新或更改现有图表数据
问题描述
我打开一个 pptx 文件并想更改图表数据集。我怎样才能做到这一点?
prs = Presentation("mypresentation.pptx")
chart = prs.slides[0].shapes[2].chart
我从幻灯片中得到了上面的图表。我不想改变图表的样式或任何东西。想保持原样。只想更改数据集值。我怎样才能做到这一点?
解决方案
python-pptx
使用该Chart.replace_data()
方法可以更改提供在 PowerPoint 图表中显示的值的数据。
https://python-pptx.readthedocs.io/en/latest/api/chart.html#pptx.chart.chart.Chart.replace_data
创建一个新ChartData
对象来保存新数据,然后将该对象传递给.replace_data()
方法:
from pptx.chart.data import CategoryChartData
# ---define new chart data---
chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))
# ---replace chart data---
chart.replace_data(chart_data)
请注意,对于 XY/散点图或气泡图,此过程略有不同,因为这些图表类型使用不同的图表数据对象。
推荐阅读
- reactjs - 为什么 npm start(在 create-react-app 之后)无法运行?
- javascript - 在多个浏览器中登录时如何更新更改的用户数据
- ruby-on-rails - AASM 事件和 Rails 模型同名?
- xcode - CircleCI:没有用于团队匹配的配置文件,Xcode 找不到任何匹配的配置文件
- java - 从一个代理通过 JVMTI 中的 SetBreakpoint 设置的断点对连接到 JVM 的远程调试器是否可见?
- node.js - 如何将变量加载到模块导出中,然后再使用
- c++ - Arduino C++:F() 宏在函数内部是否有意义?
- javascript - GWT jsinterop java导出不起作用
- sql - 如何使用一个 SQL 查询从数据库中删除所有外部表?
- javascript - Javascript 和空白网页