我试图调用pptx模块中的Chart类。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
类不打算直接被实例化。使用 .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.ioenlatestusercharts.html)。