折线图也用得挺多的,类型是XL_CHART_TYPE.LINE。折线图与柱状图在数据表现形式上非常相似,所以把上面的柱状图改为折线图简单得不得了,比如说我们想要让每一条线都表示一个分类,只要把原来柱状图的数据转置,也就是行变成列、列变成行就可以了,代码如下:
from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE,XL_LEGEND_POSITION
from pptx.util import Cm,Pt
ppt = Presentation()
chart_data = CategoryChartData()
chart_data.categories = ['Q1','Q2','Q3','Q4']
chart_data.add_series('数码娱乐',(36.6,21.1,15.9,20.4))
chart_data.add_series('生活用品',(65.5,52.1,22.3,35.3))
chart_data.add_series('文化用品',(10.0,3.1,9.8,3.2))
slide = ppt.slides.add_slide(ppt.slide_layouts[6])
x = y = Cm(3)
width = Cm(20)
height = Cm(10)
graphic_frame = slide.shapes.add_chart(
XL_CHART_TYPE.LINE,x,y,width,height,chart_data
)
chart = graphic_frame.chart
chart.has_legend = True
chart.legend.position = XL_LEGEND_POSITION.TOP
chart.legend.include_in_layout = False
ppt.save("./ppt_ files/test.pptx")
创建折线图的代码几乎与创建柱状图的一致,至于设置标签样式,也是和在柱状图中一样的操作方法,这里就不过多演示了,上面代码的最终效果如图8-6所示。