5分钟python:给PPT自动添加精美的图形

本 5分钟系列将会讲解如何在python中如何自动在ppt里画柱形图,并将其扩展为多柱形图。最后给每个柱形图标上对应数值,并把图例标志上。
添加
以下代码在新演示文稿中添加单系列柱形图:
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)
扩展为多维柱形图
剩下的代码将省略我们已经看过的代码并且仅显示导入,例如,当它们第一次被使用时,只是为了将焦点保持在新位上。让我们创建一个用于这些示例的多系列图表:
chart_data = chartdata() chart_data.categories = [east, west, midwest] chart_data.add_series(q1 sales, (19.2, 21.4, 16.7)) chart_data.add_series(q2 sales, (22.3, 28.6, 15.2)) chart_data.add_series(q3 sales, (20.4, 26.3, 14.2)) graphic_frame = slide.shapes.add_chart( xl_chart_type.column_clustered, x, y, cx, cy, chart_data ) chart = graphic_frame.chart
请注意,我们捕获了add_chart()调用返回的形状引用 graphic_frame,然后使用其chart属性从图形框架中提取图表对象 。我们需要图表参考来获取我们在接下来的步骤中需要的属性。该 方法不直接返回图表对象。那是因为图表本身并不是一种形状。相反,它是图形框架形状中包含的图形(drawingml)对象。表也以这种方式工作,也包含在图形框架形状中。
打上数据标签
让我们添加一些数据标签,以便我们可以准确地看到每个条的值是什么:
from pptx.dml.color import rgbcolor from pptx.enum.chart import xl_label_position plot = chart.plots[0] plot.has_data_labels = true data_labels = plot.data_labels data_labels.font.size = pt(13) data_labels.font.color.rgb = rgbcolor(0x0a, 0x42, 0x80) data_labels.position = xl_label_position.inside_end
在这里,我们需要访问plot对象才能访问数据标签。绘图类似于子图表,包含一个或多个系列,并绘制为特定的图表类型,如列或线。对于组合了多种类型的图表,例如出现在柱形图顶部的折线图,需要进行此区分。像这样的图表将有两个绘图对象,一个用于显示为列的系列,另一个用于行。大多数图表只有一个图表,而python-pptx还不支持创建多图表图表,但您可以在已有图表的图表上访问多个图表。
在microsoft api中,名称chartgroup用于此对象。在学习ms office图表的过程中发现该术语很长时间令人困惑,因此我在python-pptx中为该对象选择了名称plot 。
好的,接下来让的5分钟系列里,将会尝试一些python生成ppt的其他图表类型。

搅齿造粒机是您造粒设备很好的选择
倍电充电宝价格 倍电
茶饮店开店如何 倾诉需要茶浓醇商机
厨师长
景观工程-清和园林厂家直供(图)-沙漠景观工程
5分钟python:给PPT自动添加精美的图形
东锦龟 东部锦龟 东锦龟活体
精致完美的装饰 豪华越野房车 随时都是VIP的享受
镁合金压铸加工厂、专业镁合金压铸
魏县正宗的做网站效果显著众盟科技网络互联网营销专家
张店小件搬运公司排名,您身边专业的搬家公司
美驰门窗加盟究竟要多少钱?
织带切带机批发-选元威机械
江西定做月饼盒包装优质生产厂家
鹏恒铜雕(在线咨询) 铜狮子 小型铜狮子
在越南旅游时,会有小姑娘问你“要不要生菜”,这是什么意思?
欢迎光临——辽阳(混凝剂PAC)——型号推荐)辽阳
多功能二次结构柱输送泵的功能浇筑有它就够了
景德镇喷洒车
广西壮族自治贺州农药喷洒车多少钱