pptx图表类参数

问题描述 投票:0回答:1

我试图调用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'```





python charts python-3.7 python-pptx
1个回答
2
投票

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)。

© www.soinside.com 2019 - 2024. All rights reserved.