C# 给PPT中的图表添加趋势线的方法

 更新时间:2021年09月14日 11:42:43   作者:E-iceblue  
本文内容分享通过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

一、 实现方法

通过调用Spire.Presentation.dllItrendline接口提供的方法 AddTrendLine(TrendlinesType type) 来添加趋势线,编辑代码前,请先按照如下第2点中的方法在程序中添加引用Spire.Presentation.dll。

二、PPT 类库安装

关于PPT 类库安装:可直接通过Nuget 搜索安装到程序。具体方法如下:

鼠标右键点击“引用”,“管理Nuget包”,然后按照下图步骤操作;

完成安装:

三、代码实现

1、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");
        }
    }
}

趋势线添加效果:

2、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

相关文章

  • C# 使用动态库DllImport("kernel32")读写ini文件的步骤

    C# 使用动态库DllImport("kernel32")读写ini文件的步骤

    kernel32.dll是Windows中非常重要的32位动态链接库文件,属于内核级文件,这篇文章主要介绍了C# 利用动态库DllImport("kernel32")读写ini文件,需要的朋友可以参考下
    2023-05-05
  • C#中子类调用父类的实现方法

    C#中子类调用父类的实现方法

    这篇文章主要介绍了C#中子类调用父类的实现方法,通过实例逐步分析了类中初始化构造函数的执行顺序问题,有助于加深对C#面向对象程序设计的理解,需要的朋友可以参考下
    2014-09-09
  • unity实现简单的贪吃蛇游戏

    unity实现简单的贪吃蛇游戏

    这篇文章主要为大家详细介绍了unity实现简单的贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • winform去掉右上角关闭按钮的方法

    winform去掉右上角关闭按钮的方法

    这篇文章主要介绍了winform去掉右上角关闭按钮的方法,需要的朋友可以参考下
    2014-02-02
  • C#实现在匿名方法中捕获外部变量的方法

    C#实现在匿名方法中捕获外部变量的方法

    这篇文章主要介绍了C#实现在匿名方法中捕获外部变量的方法,本文直接给出代码实例,然后分析了代码中的一些知识点,需要的朋友可以参考下
    2015-03-03
  • 基于WPF实现3D导航栏控件

    基于WPF实现3D导航栏控件

    这篇文章主要介绍了如何基于WPF实现简单的3D导航栏控件效果,文中的示例代码讲解详细,对我们的学习或工作有一定帮助,需要的小伙伴可以参考一下
    2024-03-03
  • 关于C#中GUI编程的标准事件问题

    关于C#中GUI编程的标准事件问题

    这篇文章主要介绍了C#中GUI编程的标准事件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码,需要的朋友可以参考一下
    2013-03-03
  • unity实现多点触控代码

    unity实现多点触控代码

    这篇文章主要介绍了unity实现多点触控代码,我最近在学习Unity游戏引擎。先从Unity平面开始,本章介绍Unity 平面上的多点触摸。有需要的小伙伴参考下。
    2015-03-03
  • C#最小二乘法拟合曲线成直线的实例

    C#最小二乘法拟合曲线成直线的实例

    这篇文章主要介绍了C#最小二乘法拟合曲线成直线的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论