Python在PPT中创建折线图与条形图教程
使用Python的Spire Presentation库可在PowerPoint中创建折线图与条形图,通过AppendChartInit添加图表,ChartData写入数据并绑定至系列和类别,支持定制标题、颜色、数据标签。折线图展示趋势,条形图比较数值,流程一致仅需更改ChartType参数。
在演示文稿中,数据可视化是传递信息最直观的方式之一。无论是商业报告、项目复盘还是数据分析展示,一张清晰易懂的图表,往往比大段文字更具说服力。而通过 Python 编程来创建 PowerPoint 图表,不仅能实现批量生成,还能确保数据的准确性与格式的统一性。今天,我们将深入探讨如何使用 Spire.Presentation for Python 在幻灯片中创建折线图和条形图,并进一步定制图表标题、数据标签和样式等属性。
为什么选择 Python 创建 PowerPoint 图表
手动插入图表、逐个填写数据,既耗时又容易出错。用 Python 来完成这一流程,优势非常明显:
- 数据驱动:直接从数据库或文件中读取数据并填充到图表,彻底避免人工录入的差错。
- 批量生成:一次性创建包含多张图表的演示文稿,尤其适合周期性报告场景。
- 样式统一:通过代码统一定义图表的颜色、字体和标签格式,保证整个文档的视觉风格一致。
- 可重复性:数据更新后,只需重新运行脚本即可刷新图表内容,省时省力。
环境准备
开始之前,需要先安装 Spire.Presentation for Python 库。这个库提供了完整的图表操作 API,支持在 PowerPoint 中创建和编辑多种图表类型。
复制代码pip install Spire.Presentation
安装完成后,在 Python 脚本中导入相关模块,即可开始工作。
创建带数据标记的折线图
折线图特别擅长表现数据随时间或类别的变化趋势,是财务分析和业绩展示中最常用的图表类型之一。在 PowerPoint 中创建折线图,核心思路非常清晰:先通过 AppendChartInit 方法向幻灯片添加一个图表对象,再通过 ChartData 属性向内部数据表写入类别名称和数值,最后将数据范围绑定到图表的系列和类别上。
下面这个示例,演示了如何创建一张带数据标记的折线图(LineMarkers),包含两个数据系列:
复制代码from spire.presentation.common import *
from spire.presentation import *outputFile = "LineChart.pptx"# 创建演示文稿对象
presentation = Presentation()# 在第一张幻灯片上添加折线图
rect = RectangleF.FromLTRB(90, 100, 640, 420)
chart = presentation.Slides[0].Shapes.AppendChartInit(ChartType.LineMarkers, rect, False)# 设置图表标题
chart.ChartTitle.TextProperties.Text = "季度销售趋势"
chart.ChartTitle.TextProperties.IsCentered = True
chart.ChartTitle.Height = 30
chart.HasTitle = True# 定义两个系列的数据
series1 = [7.7, 8.9, 1.0, 2.4]
series2 = [15.2, 5.3, 6.7, 8]# 写入系列名称
chart.ChartData[0, 1].Text = "产品A"
chart.ChartData[0, 2].Text = "产品B"# 写入类别名称
chart.ChartData[1, 0].Text = "第一季度"
chart.ChartData[2, 0].Text = "第二季度"
chart.ChartData[3, 0].Text = "第三季度"
chart.ChartData[4, 0].Text = "第四季度"# 填充各系列的数值数据
for i in range(len(series1)):
chart.ChartData[i + 1, 1].NumberValue = series1[i]
chart.ChartData[i + 1, 2].NumberValue = series2[i]# 绑定系列标签、类别标签和数值范围
chart.Series.SeriesLabel = chart.ChartData["B1", "C1"]
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"]
chart.Series[0].Values = chart.ChartData["B2", "B5"]
chart.Series[1].Values = chart.ChartData["C2", "C5"]# 保存文档
presentation.Sa veToFile(outputFile, FileFormat.Pptx2010)
presentation.Dispose()

这段代码有几个关键点值得留意。AppendChartInit 方法接收三个参数:图表类型(ChartType.LineMarkers 表示带数据标记的折线图)、图表所在的矩形区域,以及一个布尔值指示是否显示标题。ChartData 是一个二维表格结构,行索引和列索引均从 0 开始——第 0 行存放系列名称,第 0 列存放类别名称,其余单元格存放数值数据。数据写入完成后,需要通过 SeriesLabel、CategoryLabels 和 Values 属性将数据范围绑定到图表的系列上,这里使用了类似 Excel 的区域引用语法(如 "B1", "C1" 表示从 B1 到 C1 的范围)。
创建簇状条形图
条形图(或柱形图)通过柱体的高度直观反映数值大小,特别适合比较不同类别的数据。其创建流程与折线图基本一致,区别仅在于图表类型参数不同。下面以簇状柱形图(ColumnClustered)为例,演示如何创建一张用于产品销量对比的条形图。
复制代码from spire.presentation.common import *
from spire.presentation import *outputFile = "BarChart.pptx"presentation = Presentation()# 添加簇状柱形图
rect = RectangleF.FromLTRB(90, 100, 640, 420)
chart = presentation.Slides[0].Shapes.AppendChartInit(ChartType.ColumnClustered, rect, False)# 设置图表标题
chart.ChartTitle.TextProperties.Text = "产品销量对比"
chart.ChartTitle.TextProperties.IsCentered = True
chart.ChartTitle.Height = 30
chart.HasTitle = True# 准备数据
series1 = [7.7, 8.9, 1.0, 2.4]
series2 = [15.2, 5.3, 6.7, 8]chart.ChartData[0, 1].Text = "产品A"
chart.ChartData[0, 2].Text = "产品B"chart.ChartData[1, 0].Text = "第一季度"
chart.ChartData[2, 0].Text = "第二季度"
chart.ChartData[3, 0].Text = "第三季度"
chart.ChartData[4, 0].Text = "第四季度"for i in range(len(series1)):
chart.ChartData[i + 1, 1].NumberValue = series1[i]
chart.ChartData[i + 1, 2].NumberValue = series2[i]chart.Series.SeriesLabel = chart.ChartData["B1", "C1"]
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"]
chart.Series[0].Values = chart.ChartData["B2", "B5"]
chart.Series[1].Values = chart.ChartData["C2", "C5"]# 为系列设置不同的填充颜色
chart.Series[0].Fill.FillType = FillFormatType.Solid
chart.Series[0].Fill.SolidColor.Color = Color.get_SkyBlue()
chart.Series[1].Fill.FillType = FillFormatType.Solid
chart.Series[1].Fill.SolidColor.Color = Color.get_Orange()presentation.Sa veToFile(outputFile, FileFormat.Pptx2013)
presentation.Dispose()

与折线图示例相比,这里仅仅将 ChartType 参数替换为 ColumnClustered,数据绑定方式完全相同。此外,这个示例还增加了系列颜色的自定义设置:通过将 Fill.FillType 设为 Solid,再指定 SolidColor.Color,即可为每个系列赋予不同的颜色。如果不手动设置,PowerPoint 会自动分配默认配色。
图表样式定制技巧
除了基本的图表创建和数据填充之外,Spire.Presentation 还提供了丰富的样式定制能力。下面分享几个常用的技巧。
设置图表标题字体
通过 ChartTitle.TextProperties 可以访问标题的文本格式属性,包括字体名称、字号和颜色:
复制代码chart.ChartTitle.TextProperties.Paragraphs[0].DefaultCharacterProperties.LatinFont = TextFont("微软雅黑")
chart.ChartTitle.TextProperties.Paragraphs[0].DefaultCharacterProperties.FontHeight = 28
chart.ChartTitle.TextProperties.Paragraphs[0].DefaultCharacterProperties.Fill.SolidColor.KnownColor = KnownColors.Blue
DefaultCharacterProperties 代表段落中字符的默认格式,通过设置 LatinFont 指定字体、FontHeight 设置字号、Fill.SolidColor 设置文字颜色,可以让标题与整体设计风格保持一致。
为单个数据点设置颜色
如果需要突出显示某个特定数据点,可以通过 ChartDataPoint 单独为其设置颜色:
复制代码cdp = ChartDataPoint(chart.Series[0])
cdp.Index = 0
cdp.Fill.FillType = FillFormatType.Solid
cdp.Fill.SolidColor.KnownColor = KnownColors.Orange
chart.Series[0].DataPoints.Add(cdp)
ChartDataPoint 需要绑定到某个系列,通过 Index 指定数据点的位置序号,然后设置其 Fill 属性即可覆盖该系列的默认颜色。这种方式在标注异常值或关键节点时非常实用。
添加数据标签
数据标签可以在图表上直接显示每个数据点的具体数值,让读者无需参照坐标轴即可获取精确信息:
复制代码label = chart.Series[0].DataLabels.Add()
label.LabelValueVisible = True
label.Position = ChartDataLabelPosition.InsideEnd
label.TextFrame.TextRange.FontHeight = 12
label.TextFrame.TextRange.Fill.SolidColor.Color = Color.get_Black()
ChartDataLabelPosition 枚举提供了多种位置选项,如 InsideEnd(柱体内部顶端)、Center(居中)、OutsideEnd(柱体外部上方)等,可以根据图表类型和布局需要灵活选择。
总结
本文介绍了使用 Python 在 PowerPoint 中创建折线图和条形图的方法。核心 API 包括 AppendChartInit 创建图表对象、ChartData 写入数据、SeriesLabel 和 CategoryLabels 绑定数据范围,以及通过 Fill 和 DataLabels 等属性定制图表样式。折线图适合展示趋势变化,条形图适合比较数值大小,两者在数据绑定流程上高度一致,只需更改 ChartType 参数即可切换图表类型。掌握这些技术之后,你可以轻松地将业务数据转化为直观的 PowerPoint 图表,为数据展示和报告自动化提供有力支持。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
FileZilla断点续传设置与操作指南
FileZilla支持断点续传,需客户端与服务器均开启REST命令。设置中确保启用断点续传及继续传输选项。中断后自动或手动从断点恢复。注意服务器支持、传输模式匹配及文件完整性校验。
Debian系统C++编译器位置查找方法
在Debian系统中,通过apt安装的C++编译器g++默认位于 usr bin g++,可使用which或whereis命令验证路径。g++属于build-essential软件包,若未安装则需执行sudoaptinstallbuild-essential。该包还包含gcc、make等编译工具链,g++是GNUC++编译器,实际是符号链接指向具体版本,验证
Debian系统安装C++环境的方法
在Debian系统安装C++开发环境:先sudoaptupdate更新包列表,再sudoaptinstallbuild-essential安装编译工具链,或单独安装g++。用g++--version验证。可选安装VSCode、GDB、CMake等工具并配置默认编译器版本。
Debian系统C++开发环境配置指南
在Debian系统中,先执行aptupdate更新软件包列表,再安装build-essential元包即可获得GCC、G++、Make和GDB。通过运行g++--version命令验证编译器安装成功。可选安装VisualStudioCode、CLion等编辑器及CMake构建工具,并编写一个简单的HelloWorld程序,使用g++编译运行以验证环境配置正确
通过cpustat工具查看CPU状态的具体方法与详细步骤
cpustat是sysstat包中的CPU监控工具,可按固定间隔输出带时间戳的CPU使用率统计。安装后运行cpustat即可实时显示各核心信息,常用指标包括%usr、%sys、%iowait、%steal和%idle,用于定位用户态、内核态或I O瓶颈。高级选项-c可显示单核统计,-m可同时查看内存使用,适合脚本采集和性能分析。
- 热门数据榜
相关攻略
2026-07-25 22:29
2026-07-25 22:29
2026-07-25 22:29
2026-07-25 22:29
2026-07-25 22:18
2026-07-25 22:18
2026-07-25 22:18
2026-07-25 22:18
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

