C# 给PPT中的图表添加趋势线
本文内容分享通过C#程序代码给PPT文档中的图表添加数据趋势线的方法。
支持趋势线的图表类型包括二维面积图、条形图、柱形图、柱形图、股价图、xy (散点图) 和气泡图中;不能向三维、堆积、雷达图、饼图、曲面图或圆环图的数据系列添加趋势线。可添加的趋势线类型包括6种,即多项式(Polynomial)趋势线、指数(Exponential)趋势线、线性(Linear)趋势线、对数(Logarithmic)趋势线、幂(Power)趋势线、移动平均(移动平均)趋势线。下面以柱形图表为例,添加趋势线。方法及步骤参考如下。
【程序环境】
- Visual Studio 2017
- .net framework 4.6.1
- Power Point 2013 (.pptx)
- PPT类库:Spire.Presentation for .NET
1. 实现方法
通过调用Spire.Presentation.dll中Itrendline接口提供的方法AddTrendLine(TrendlinesType type)来添加趋势线,编辑代码前,请先按照如下第2点中的方法在程序中添加引用Spire.Presentation.dll。
2. 关于PPT类库安装:可直接通过Nuget搜索安装到程序。具体方法如下:
鼠标右键点击“引用”,“管理Nuget包”,然后按照下图步骤操作;




完成安装:

【C#】
using Spire.Presentation;
using Spire.Presentation.Charts; namespace AddTrendline
{
class Program
{
static void Main(string[] args)
{
//创建Presentation类的实例
Presentation ppt = new Presentation();
//加载PowerPoint文档
ppt.LoadFromFile("test.pptx"); //获取第一张幻灯片
ISlide slide = ppt.Slides[0]; //获取幻灯片上的第一个图表
IChart chart = (IChart)slide.Shapes[0]; //给图表的第一个数据系列添加线性趋势线
ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Polynomial);//多项式趋势线
//ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Exponential);//指数趋势线
//ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Linear);//线性趋势线
//ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Logarithmic);//对数趋势线
//ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Power);//幂趋势线
//ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.MovingAverage);//移动平均趋势线 //显示公式
trendLine.displayEquation = true;
//显示R平方值
trendLine.displayRSquaredValue = true; //保存结果文档
ppt.SaveToFile("AddTrendline.pptx", FileFormat.Pptx2013);
System.Diagnostics.Process.Start("AddTrendline.pptx");
}
}
}
趋势线添加效果:

【vb.net】
Imports Spire.Presentation
Imports Spire.Presentation.Charts Namespace AddTrendline
Class Program
Private Shared Sub Main(args As String())
'创建Presentation类的实例
Dim ppt As New Presentation()
'加载PowerPoint文档
ppt.LoadFromFile("test.pptx") '获取第一张幻灯片
Dim slide As ISlide = ppt.Slides(0) '获取幻灯片上的第一个图表
Dim chart As IChart = DirectCast(slide.Shapes(0), IChart) '给图表的第一个数据系列添加线性趋势线
Dim trendLine As ITrendlines = chart.Series(0).AddTrendLine(TrendlinesType.Polynomial)
'多项式趋势线
'ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Exponential); '指数趋势线
'ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Linear); '线性趋势线
'ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Logarithmic); '对数趋势线
'ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.Power); '幂趋势线
'ITrendlines trendLine = chart.Series[0].AddTrendLine(TrendlinesType.MovingAverage); '移动平均趋势线
'显示公式
trendLine.displayEquation = True
'显示R平方值
trendLine.displayRSquaredValue = True '保存结果文档
ppt.SaveToFile("AddTrendline.pptx", FileFormat.Pptx2013)
System.Diagnostics.Process.Start("AddTrendline.pptx")
End Sub
End Class
End Namespace
—End—
C# 给PPT中的图表添加趋势线的更多相关文章
- C# Excel 为图表添加趋势线、误差线
Excel图表能够将数据可视化,在图表中另行添加趋势线和误差线,可对数据进行进一步的数据分析和统计的可视化处理.Excel中的趋势线可用于趋势预测/回归分析,共6中类型:指数(X),线性(L),对数( ...
- Java 添加、读取、删除Excel中的图表趋势线
本文以Java示例介绍如何在Excel中添加趋势线,以及读取趋势线公式.通过文中的方法可支持添加6种不同类型的趋势线,包括Linear.Exponential.Logarithmic.Moving A ...
- C# 添加、修改、删除PPT中的超链接
本文介绍通过C# 编程如何在PPT幻灯片中添加超链接的方法,添加链接时,可给文本或者图片添加超链接,链接对象可指向网页地址.邮件地址.指定幻灯片等,此外,也可以参考文中编辑.删除幻灯片中已有超链接的方 ...
- C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果
在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...
- C# Excel 为图表添加模拟运算表
Excel中的图表能够将数据可视化,方便我们比较分析数据.但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值.Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包 ...
- 如何提取出ppt中的文字?
最近在看一位老师的教学视频,视频里大部分的知识都记录在ppt里,于是很想将ppt中的文字提取出来,如果我一页一页地粘贴复制的话,效率低到吓人,因为一章的ppt有130多页,于是在网上搜索了一下方法,与 ...
- Java 在PPT中绘制图形
Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘制图形的方法. 工具:Free Spi ...
- 如何在一张ppt中插入多张图片并能依次播放
我们在做ppt的过程中,有时遇到在一张ppt中插入多张图片还想让其能依次播放的情况,针对上述情况我们可以根据下列步骤进行设置.(新手必看) 1.首先,用鼠标点击桌面Microsoft PowerPo ...
- MathType可以在Word、PPT中插入矩阵吗
工科学生或者老师在写论文时最头痛的就是编辑公式,因为word自带的公式编辑器往往满足不了专业的公式需求,MathType就很好的解决了这个问题.在进行公式编辑时,难免会遇到输入矩阵的情况,那么怎么输入 ...
随机推荐
- C++11 noexcept 关键字用法学习
最近学习和写了一个 mint 的板子 ,其中用到了 noexcept 关键字,对这个关键字不太熟悉,便学习一下刘毅学长的文章. C++98 中的异常规范(Exception Specification ...
- Java方法03——方法的重载
方法的重载(println 就是一个典型的重载(源码)) 重载就是在一个类中,有相同的函数名称,但形参不同的函数 方法重载的规则 方法名称必须相同 参数列表必须不同(个数不同.或者类型不同.参数排列顺 ...
- C++面向对象总结——虚指针与虚函数表
最近在逛B站的时候发现有候捷老师的课程,如获至宝.因此,跟随他的讲解又复习了一遍关于C++的内容,收获也非常的大,对于某些模糊的概念及遗忘的内容又有了更深的认识. 以下内容是关于虚函数表.虚函数指针, ...
- SaToken学习笔记-02
SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...
- 你认为的.NET数据库连接池,真的是全部吗?
一般我们的项目中会使用1到2个数据库连接配置,同程艺龙的数据库连接配置被收拢到统一的配置中心,由DBA统一配置和维护,业务方通过某个字符串配置拿到的是Connection对象. DBA能在对业务方无侵 ...
- perfdog的基本使用
perfdog的下载安装就不做过多介绍了,直接进入正题,首先介绍下perfdog页面的结构 如下图 1.显示连接的设备 2.选择需要测试的app 3.device tab下显示设备的基本信息,sett ...
- 博客CSS样式 二
预览 可自行更改颜色 背景图 页面定制 CSS 代码中加入: url为背景图地址,可下载心仪背景图后上传到博客园相册后获取地址 body { color: #000; background: url( ...
- Mysql的分区表
概论: 分区表一般用作Mysql库表的水平切割(也就是常说的mysql性能优化的几种通用手法"读写分离.分库分表"中的一种),适用于单表的数据量可能很大的场景.因为分区表可以将一个 ...
- linux 的删除
1,删除 命令行 rm -rf 文件夹名称 2,下载 wget 网址 -------------------- 查找ES进程号 ps -ef | grep elastic kill -9 3250 3 ...
- 把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
我 使用 nodejs koa2框架 制作后端接口, 现在将nodejs koa2 部署到服务器 koa2项目 实现 接口 可以看我的 这篇文章: 简单实现 nodejs koa2 mysql 增删改 ...