pptx 图表 class 个参数

pptx Chart class arguments

我正在尝试调用 pptx 模块中的图表 class。 Chart 有两个参数:chartSpace 和 chart_part。问题是我不知道这两个参数是什么。对此可能有一个简单的答案,但我已经尝试查看所有文档,但找不到有关这些参数的任何信息。谁能解释一下这些论点在寻找什么?

from pptx import Presentation
from pptx.enum.chart import XL_CHART_TYPE, XL_TICK_LABEL_POSITION
from pptx.chart.data import CategoryChartData
from pptx.chart.data import ChartData
from pptx.enum.shapes import PP_PLACEHOLDER
from pandas import DataFrame as DF
from pptx.chart.chart import Chart

prs_dir = 'Directory'

layout = prs.slide_layouts[6]
slide = prs.slides.add_slide( layout )

chart_data = ChartData()
chart_data.categories = ['Budget','Actuals']
chart_data.add_series('Budget', (1,21,23,4,5,6,7,35))
chart_data.add_series('Actuals', (1,21,23,4,5,6,7,35))

chart = Chart()

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-207-e560d7744421> in <module>
----> 1 chart = Chart()

TypeError: __init__() missing 2 required positional arguments: 'chartSpace' and 'chart_part'```





Chart class 不打算直接实例化。在幻灯片形状集合上使用 .add_chart() 方法添加图表。

from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches

# create presentation with 1 slide ------
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])

# 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 chart to slide --------------------
x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)
slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
)

prs.save('chart-01.pptx')

更多详细信息可在此处的文档中找到:https://python-pptx.readthedocs.io/en/latest/user/charts.html