本文内容分享通过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中的图表添加趋势线的更多相关文章

  1. C# Excel 为图表添加趋势线、误差线

    Excel图表能够将数据可视化,在图表中另行添加趋势线和误差线,可对数据进行进一步的数据分析和统计的可视化处理.Excel中的趋势线可用于趋势预测/回归分析,共6中类型:指数(X),线性(L),对数( ...

  2. Java 添加、读取、删除Excel中的图表趋势线

    本文以Java示例介绍如何在Excel中添加趋势线,以及读取趋势线公式.通过文中的方法可支持添加6种不同类型的趋势线,包括Linear.Exponential.Logarithmic.Moving A ...

  3. C# 添加、修改、删除PPT中的超链接

    本文介绍通过C# 编程如何在PPT幻灯片中添加超链接的方法,添加链接时,可给文本或者图片添加超链接,链接对象可指向网页地址.邮件地址.指定幻灯片等,此外,也可以参考文中编辑.删除幻灯片中已有超链接的方 ...

  4. C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果

    在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...

  5. C# Excel 为图表添加模拟运算表

    Excel中的图表能够将数据可视化,方便我们比较分析数据.但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值.Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包 ...

  6. 如何提取出ppt中的文字?

    最近在看一位老师的教学视频,视频里大部分的知识都记录在ppt里,于是很想将ppt中的文字提取出来,如果我一页一页地粘贴复制的话,效率低到吓人,因为一章的ppt有130多页,于是在网上搜索了一下方法,与 ...

  7. Java 在PPT中绘制图形

    Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘制图形的方法. 工具:Free Spi ...

  8. 如何在一张ppt中插入多张图片并能依次播放

    我们在做ppt的过程中,有时遇到在一张ppt中插入多张图片还想让其能依次播放的情况,针对上述情况我们可以根据下列步骤进行设置.(新手必看) 1.首先,用鼠标点击桌面Microsoft  PowerPo ...

  9. MathType可以在Word、PPT中插入矩阵吗

    工科学生或者老师在写论文时最头痛的就是编辑公式,因为word自带的公式编辑器往往满足不了专业的公式需求,MathType就很好的解决了这个问题.在进行公式编辑时,难免会遇到输入矩阵的情况,那么怎么输入 ...

随机推荐

  1. OpenFaaS实战之六:of-watchdog(为性能而生)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. SpringCloud-Alibaba 最新的 依赖版本管理组合以及 整合gateway遇到的问题

    一般来说,cloud 与 alibaba 拥有版本组合说明文档wiki,不过这里可以做一个最新的组合的分享. <dependencyManagement> <dependencies ...

  3. 只要套路对,薪资直接翻一倍!保姆级Android面试葵花宝典,肝完面试犹如开挂

    跳槽,这在 IT 互联网圈是非常普遍的,也是让自己升职加薪,走上人生巅峰的重要方式.那么作为一个普通的Android程序猿,我们如何才能斩获大厂offer 呢? 疫情向好.面试在即,还在迷茫踌躇中的后 ...

  4. Python开发篇——基于React-Dropzone开发上传组件

    这次我要讲述的是在React-Flask框架上开发上传组件的技巧.我目前主要以React开发前端,在这个过程中认识到了许多有趣的前端UI框架--React-Bootstrap.Ant Design.M ...

  5. JAVA的一般输入输出 和 快速输入输出 (BufferedReader&BufferedWrite)(转载)

    1.JAVA的一般输入输出 和 快速输入输出 (BufferedReader&BufferedWrite) 摘要 本文主要介绍快速输入输出, 文中提到了几个IO类,这里推荐使用Buffered ...

  6. Specify Default JDK on Ubuntu

    sudo update-alternatives --config java will produce: Selection Path Priority Status 0 /usr/lib/jvm/j ...

  7. Python--数据存储

    新建测试文档测试.txt内容如下: 张三:今天天气真好. 李四:是的,真的太好了. 张三:阳光明媚. 李四:鸟语花香. 王五:装逼现场:请带好安全帽 张三:难得好天气,今天就不偷懒了. 李四:能把乞讨 ...

  8. Ubuntu 查询用户账号

    查看当前登录 who users 查看系统中所有用户: grep bash /etc/passwd XXXX-VirtualBox:~/桌面$ w 13:23:26 up 15 min, 1 user ...

  9. stm32 串口接收一次后再也无法接受,接受都为0

    经检测为串口接受后进入别的程序,开辟了2048的临时数组,因为堆栈溢出.stm32总共堆栈为

  10. Python 赋值、浅拷贝、深拷贝之间区别

    赋值 不会开辟新的内存空间,是对原对象值的引用 当原对象值,改变后,赋值的变量也会随之改变 浅拷贝 只会拷贝最外层的对象,会开辟新的内存空间,和原对象是互相独立的 如果这个对象有嵌套对象的话,浅拷贝只 ...