Project

PSWriteOffice

PowerShell document automation across OfficeIMO's document, spreadsheet, presentation, PDF, Project, Access, EPUB, invoicing, and conversion engines.

Stars 654
Forks 82
Open issues 1
Total downloads 4,320,051
Release OfficeIMO-v3.5.3
Language: C# Updated: 2026-11-03
Cmdlet

Add-OfficePowerPointChart

Aliases: PptChart
Module
PSWriteOffice
Aliases
PptChart
Inputs
OfficeIMO.PowerPoint.PowerPointSlide
Outputs
OfficeIMO.PowerPoint.PowerPointChart

Adds a chart to a PowerPoint slide.

Syntax

Add-OfficePowerPointChart
[-Height <Double>]
[-PassThru]
[-Slide <PowerPointSlide>]
[-Title <String>]
[-Type <ClusteredColumn|Line|Pie|Doughnut|Scatter>]
[-Width <Double>]
[-X <Double>]
[-Y <Double>]
[<CommonParameters>]
#
Parameter set: Default
Add-OfficePowerPointChart
-CategoryProperty <String>
[-Height <Double>]
-InputObject <Object[]>
[-PassThru]
-SeriesProperty <String[]>
[-Slide <PowerPointSlide>]
[-Title <String>]
[-Type <ClusteredColumn|Line|Pie|Doughnut|Scatter>]
[-Width <Double>]
[-X <Double>]
[-Y <Double>]
[<CommonParameters>]
#
Parameter set: Categorical
Add-OfficePowerPointChart
[-Height <Double>]
-InputObject <Object[]>
[-PassThru]
[-Slide <PowerPointSlide>]
[-Title <String>]
[-Type <ClusteredColumn|Line|Pie|Doughnut|Scatter>]
[-Width <Double>]
[-X <Double>]
-XProperty <String>
[-Y <Double>]
-YProperty <String[]>
[<CommonParameters>]
#
Parameter set: Scatter

Description

Supports default chart data or object-based category/series mappings for standard and scatter charts.

Examples

Add a clustered column chart from objects.

$rows = @(
    [pscustomobject]@{ Month = 'Jan'; Sales = 42; Profit = 9 }
    [pscustomobject]@{ Month = 'Feb'; Sales = 55; Profit = 13 }
)
New-OfficePowerPoint -Path .\Examples\Documents\PowerPointChart.pptx {
    $slide = Add-OfficePowerPointSlide -Layout 1 -PassThru
    Add-OfficePowerPointChart -Slide $slide -InputObject $rows -CategoryProperty Month -SeriesProperty Sales,Profit -Title 'Monthly performance'
}

Creates a clustered column chart using Month for categories and Sales/Profit as series.

Add a scatter chart from numeric properties.

$rows = @(
    [pscustomobject]@{ Quarter = 1; Revenue = 20 }
    [pscustomobject]@{ Quarter = 2; Revenue = 34 }
)
New-OfficePowerPoint -Path .\Examples\Documents\PowerPointScatter.pptx {
    $slide = Add-OfficePowerPointSlide -Layout 1 -PassThru
    Add-OfficePowerPointChart -Slide $slide -Type Scatter -InputObject $rows -XProperty Quarter -YProperty Revenue -Title 'Revenue trend'
}

Creates a scatter chart using Quarter on the X axis and Revenue on the Y axis.

Parameters

-Height Double optional
Chart height in points.
-PassThru SwitchParameter optional
Emit the object created or changed by the command.
-Slide PowerPointSlide optionalpipeline: True (ByValue)
Target slide that will receive the chart (optional inside DSL).
-Title String optional
Optional chart title.
-Type PowerPointChartType optional
Chart type to create.
Possible values: ClusteredColumn, Line, Pie, Doughnut, Scatter
-Width Double optional
Chart width in points.
-X Double optional
Left offset in points from the slide origin.
-Y Double optional
Top offset in points from the slide origin.
-CategoryProperty String requiredsets: Categorical
Property name used for category labels on standard charts.
-InputObject Object[] requiredaliases: Datasets: Categorical, Scatter
Source objects used to build chart data.
-SeriesProperty String[] requiredsets: Categorical
Property names used as numeric series on standard charts.
-XProperty String requiredsets: Scatter
Property name used for the X axis on scatter charts.
-YProperty String[] requiredsets: Scatter
Property names used as numeric Y series on scatter charts.

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.