Charts of almost any type can be added to Slides, including combo and 3D charts. See demos/modules/demo_chart.mjs for the working code used to create the charts shown below.

let pres = new pptxgen();
let dataChartAreaLine = [
  {
    name: "Actual Sales",
    labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    values: [1500, 4600, 5156, 3167, 8510, 8009, 6006, 7855, 12102, 12789, 10123, 15121],
  },
  {
    name: "Projected Sales",
    labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    values: [1000, 2600, 3456, 4567, 5010, 6009, 7006, 8855, 9102, 10789, 11123, 12121],
  },
];
slide.addChart(pres.ChartType.line, dataChartAreaLine, { x: 1, y: 1, w: 8, h: 4 });
pptx.ChartTypepptx.ChartType.area, pptx.ChartType.bar, pptx.ChartType.bar3d, pptx.ChartType.bubble, pptx.ChartType.bubble3d, pptx.ChartType.doughnut, pptx.ChartType.line, pptx.ChartType.pie, pptx.ChartType.radar, pptx.ChartType.scatterpptx.ChartType, although pptx.ChartType.area, pptx.ChartType.bar, and pptx.ChartType.line will give the best results.chartTypes: Array of objects, each with type, data, and options objects.options: Standard options as used with single charts. Can include axes options.catAxisHidden: true on the secondary category axis.*LabelFormatCode props to format numbers - see Microsoft Number Format Codesdemos/modules/demo_chart.mjs file has 17 slides of well-documented chart examples| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| x | number | 1.0 | hor location (inches) | 0-n | 
| x | string | hor location (percent) | ‘n%’. (Ex: {x:'50%'}middle of the Slide) | |
| y | number | 1.0 | ver location (inches) | 0-n | 
| y | string | ver location (percent) | ‘n%’. (Ex: {y:'50%'}middle of the Slide) | |
| w | number | 1.0 | width (inches) | 0-n | 
| w | string | width (percent) | ‘n%’. (Ex: {w:'50%'}50% the Slide width) | |
| h | number | 1.0 | height (inches) | 0-n | 
| h | string | height (percent) | ‘n%’. (Ex: {h:'50%'}50% the Slide height) | 
IChartOpts), Data Table (IChartPropsDataTable), Legend (IChartPropsLegend), Title (IChartPropsTitle)| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| altText | string | chart alt text | string shown in the “alt text” panel in PowerPoint | |
| chartArea | object | chart area fill/border | fill and/or border. Ex: { fill: { color:"0088CC" }, border: {pt:'1', color:'f1f1f1'}, roundedCorners:true } | |
| chartColors | array | data colors | array of hex color codes. Ex: ['0088CC','FFCC00'] | |
| chartColorsOpacity | number | 100 | data color opacity (percent) | 1-100. Ex: { chartColorsOpacity:50 } | 
| dataTableFontSize | number | data table font size | 1-256. Ex: { dataTableFontSize: 13 } | |
| holeSize | number | 50 | doughnut hole size (percent) | 1-100. Ex: { holeSize:50 } | 
| invertedColors | array | data colors for negative numbers | array of hex color codes. Ex: ['0088CC','FFCC00'] | |
| legendFontFace | string | Arial | font face | font name. Ex: { legendFontFace:'Arial' } | 
| legendFontSize | number | 10 | legend font size | 1-256. Ex: { legendFontSize: 13 } | 
| legendColor | string | 000000 | legend text color | hex color code. Ex: { legendColor: '0088CC' } | 
| legendPos | string | r | chart legend position | b(bottom),tr(top-right),l(left),r(right),t(top) | 
| layout | object | positioning plot within chart area | object with x,y,wandhprops, all in range 0-1 (proportionally related to the chart size). Ex:{x: 0, y: 0, w: 1, h: 1}fully expands chart within the plot area | |
| plotArea | object | plot area fill/border | fill and/or border. Ex: { fill: { color: "0088CC" }, border: {pt:'1', color:'f1f1f1'} } | |
| radarStyle | string | standard | radar chart style | standard,marker,filled | 
| showDataTable | boolean | false | show Data Table under the chart | trueorfalse(Not available for Pie/Doughnut charts) | 
| showDataTableKeys | boolean | true | show Data Table Keys (color blocks) | trueorfalse(Not available for Pie/Doughnut charts) | 
| showDataTableHorzBorder | boolean | true | show Data Table horizontal borders | trueorfalse(Not available for Pie/Doughnut charts) | 
| showDataTableVertBorder | boolean | true | show Data Table vertical borders | trueorfalse(Not available for Pie/Doughnut charts) | 
| showDataTableOutline | boolean | true | show Data Table table outline | trueorfalse(Not available for Pie/Doughnut charts) | 
| showLabel | boolean | false | show data labels | trueorfalse | 
| showLeaderLines | boolean | false | show leader lines | trueorfalse | 
| showLegend | boolean | false | show chart legend | trueorfalse | 
| showPercent | boolean | false | show data percent | trueorfalse | 
| showTitle | boolean | false | show chart title | trueorfalse | 
| showValue | boolean | false | show data values | trueorfalse | 
| title | string | chart title | Ex: { title:'Sales by Region' } | |
| titleAlign | string | center | chart title text align | leftcenterorrightEx:{ titleAlign:'left' } | 
| titleColor | string | 000000 | title color | hex color code. Ex: { titleColor:'0088CC' } | 
| titleFontFace | string | Arial | font face | font name. Ex: { titleFontFace:'Arial' } | 
| titleFontSize | number | 18 | font size | 1-256. Ex: { titleFontSize:12 } | 
| titlePos | object | title position | object with x and y values. Ex: { titlePos:{x: 0, y: 10} } | |
| titleRotate | integer | title rotation (degrees) | 0-359. Ex: { titleRotate:45 } | 
IChartPropsAxisCat) and Val Axis (IChartPropsAxisVal)| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| catAxisBaseTimeUnit | string | category-axis base time unit | daysmonthsoryears | |
| catAxisCrossesAt | multi | category-axis crosses at | numberorautoZero | |
| catAxisHidden | boolean | false | hide category-axis | trueorfalse | 
| catAxisLabelColor | string | 000000 | category-axis color | hex color code. Ex: { catAxisLabelColor:'0088CC' } | 
| catAxisLabelFontBold | boolean | false | make cat axis label bold | trueorfalse | 
| catAxisLabelFontFace | string | Arial | category-axis font face | font name. Ex: { titleFontFace:'Arial' } | 
| catAxisLabelFontSize | integer | 18 | category-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| catAxisLabelFrequency | integer | PPT “Interval Between Labels” | 1-n. Ex: { catAxisLabelFrequency: 2 } | |
| catAxisLabelPos | string | nextTo | category-axis label position | low,high, ornextTo. Ex:{ catAxisLabelPos: 'low' } | 
| catAxisLabelRotate | integer | category-axis rotation (degrees) | 0-360. Ex: { catAxisLabelRotate:45 } | |
| catAxisLineColor | string | 000000 | category-axis line color | hex color code. Ex: { catAxisTitleColor:'0088CC' } | 
| catAxisLineShow | boolean | true | show/hide category-axis line | trueorfalse | 
| catAxisLineSize | integer | 18 | category-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| catAxisLineStyle | string | solid | category-axis line style | solid,dash,dot | 
| catAxisMajorTickMark | string | category-axis major tick mark | none,inside,outside,cross | |
| catAxisMajorTimeUnit | string | category-axis major time unit | days,monthsoryears | |
| catAxisMaxVal | integer | category-axis max value | Integer. Ex: { catAxisMaxVal:10 } | |
| catAxisMinVal | integer | category-axis min value | Integer. Ex: { catAxisMinVal:0 } | |
| catAxisMinorTickMark | string | category-axis minor tick mark | none,inside,outside,cross | |
| catAxisMinorTimeUnit | string | category-axis minor time unit | days,monthsoryears | |
| catAxisMajorUnit | integer | category-axis major unit | Positive integer. Ex: { catAxisMajorUnit:12 } | |
| catAxisMinorUnit | integer | category-axis minor unit | Positive integer. Ex: { catAxisMinorUnit:1 } | |
| catAxisMultiLevelLabels | boolean | false | show multi-level labels | trueorfalse. Ex:{ catAxisMultiLevelLabels:true } | 
| catAxisOrientation | string | minMax | category-axis orientation | maxMin(high->low) orminMax(low->high) | 
| catAxisTitle | string | Axis Title | axis title | a string. Ex: { catAxisTitle:'Regions' } | 
| catAxisTitleColor | string | 000000 | title color | hex color code. Ex: { catAxisTitleColor:'0088CC' } | 
| catAxisTitleFontFace | string | Arial | font face | font name. Ex: { catAxisTitleFontFace:'Arial' } | 
| catAxisTitleFontSize | integer | font size | 1-256. Ex: { catAxisTitleFontSize:12 } | |
| catAxisTitleRotate | integer | title rotation (degrees) | 0-360. Ex: { catAxisTitleRotate:45 } | |
| catGridLine | object | none | category grid line style | object with properties size(pt),colorandstyle('solid','dash'or'dot') or'none'to hide | 
| showCatAxisTitle | boolean | false | show category (vert) title | trueorfalse. Ex:{ showCatAxisTitle:true } | 
| showSerName | boolean | false | show serie name | trueorfalse. Ex:{ showSerName:true } | 
| showValAxisTitle | boolean | false | show values (horiz) title | trueorfalse. Ex:{ showValAxisTitle:true } | 
| valAxisCrossesAt | multi | value-axis crosses at | numberorautoZero | |
| valAxisDisplayUnit | string | display units | billions,hundredMillions,hundreds,hundredThousands,millions,tenMillions,tenThousands,thousands,trillions | |
| valAxisHidden | boolean | false | hide value-axis | trueorfalse | 
| valAxisLabelColor | string | 000000 | value-axis color | hex color code. Ex: { valAxisLabelColor:'0088CC' } | 
| valAxisLabelFontBold | boolean | false | make val axis label bold | trueorfalse | 
| valAxisLabelFontFace | string | Arial | value-axis font face | font name. Ex: { titleFontFace:'Arial' } | 
| valAxisLabelFontSize | integer | 18 | value-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| valAxisLabelFormatCode | string | General | value-axis number format | format string. Ex: { axisLabelFormatCode:'#,##0' } | 
| valAxisLineColor | string | 000000 | value-axis line color | hex color code. Ex: { catAxisTitleColor:'0088CC' } | 
| valAxisLineShow | boolean | true | show/hide value-axis line | trueorfalse | 
| valAxisLineSize | integer | 18 | value-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| valAxisLineStyle | string | solid | value-axis line style | solid,dash,dot | 
| valAxisLogScaleBase | number | logarithmic scale | 2-99 | |
| valAxisMajorTickMark | string | value-axis major tick mark | none,inside,outside,cross | |
| valAxisMajorUnit | number | 1.0 | value-axis tick steps | Float or whole number. Ex: { majorUnit:0.2 } | 
| valAxisMaxVal | number | value-axis maximum value | 1-N. Ex: { valAxisMaxVal:125 } | |
| valAxisMinVal | number | value-axis minimum value | 1-N. Ex: { valAxisMinVal: -10 } | |
| valAxisMinorTickMark | string | value-axis minor tick mark | none,inside,outside,cross | |
| valAxisOrientation | string | minMax | value-axis orientation | maxMin(high->low) orminMax(low->high) | 
| valAxisTitle | string | Axis Title | axis title | a string. Ex: { valAxisTitle:'Sales (USD)' } | 
| valAxisTitleColor | string | 000000 | title color | hex color code. Ex: { valAxisTitleColor:'0088CC' } | 
| valAxisTitleFontFace | string | Arial | font face | font name. Ex: { valAxisTitleFontFace:'Arial' } | 
| valAxisTitleFontSize | number | font size | 1-256. Ex: { valAxisTitleFontSize:12 } | |
| valAxisTitleRotate | integer | title rotation (degrees) | 0-360. Ex: { valAxisTitleRotate:45 } | |
| valGridLine | object | value grid line style | object with properties size(pt),colorandstyle('solid','dash'or'dot') or'none'to hide | 
IChartPropsChartBar), Data Label (IChartPropsDataLabel), Line (IChartPropsChartLine)| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| barDir | string | col | bar direction | (Bar Chart) bar(horizontal) orcol(vertical). Ex:{barDir:'bar'} | 
| barGapWidthPct | number | 150 | width between bar groups (percent) | (Bar Chart) 0-500. Ex: { barGapWidthPct:50 } | 
| barGrouping | string | clustered | bar grouping | (Bar Chart) clusteredorstackedorpercentStacked. | 
| barOverlapPct | number | 0 | overlap (percent) | (Bar Chart) -100-100. Ex:{ barOverlapPct:50 } | 
| catLabelFormatCode | string | format to show data value | format string. Ex: { catLabelFormatCode:'#,##0' } | |
| dataBorder | object | data border | object with ptandcolorvalues. Ex:border:{pt:'1', color:'f1f1f1'} | |
| dataLabelColor | string | 000000 | data label color | hex color code. Ex: { dataLabelColor:'0088CC' } | 
| dataLabelFormatCode | string | format to show data value | format string. Ex: { dataLabelFormatCode:'#,##0' } | |
| dataLabelFormatScatter | string | custom | label format | (Scatter Chart) custom,customXY,XY | 
| dataLabelFontBold | boolean | false | make data label bold | Ex: { dataLabelFontBold:true } | 
| dataLabelFontFace | string | Arial | value-axis font face | font name. Ex: { titleFontFace:'Arial' } | 
| dataLabelFontSize | number | 18 | value-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| dataLabelPosition | string | bestFit | data label position | bestFit,b,ctr,inBase,inEnd,l,outEnd,r,t | 
| dataNoEffects | boolean | false | whether to omit effects on data | (Doughnut/Pie Charts) trueorfalse | 
| displayBlanksAs | string | span | whether to draw line or gap | (Line Charts) spanorgap | 
| lineCap | string | line cap style | flat,round,square | |
| lineDash | string | solid | (Bar/Scatter Chart) border line dash style | dash,dashDot,lgDash,lgDashDot,lgDashDotDot,solid,sysDashorsysDot | 
| lineDataSymbol | string | circle | symbol used on line marker | circle,dash,diamond,dot,none,square,triangle | 
| lineDataSymbolSize | number | 6 | size of line data symbol | 1-256. Ex: { lineDataSymbolSize:12 } | 
| lineDataSymbolLineSize | number | 0.75 | size of data symbol outline | 1-256. Ex: { lineDataSymbolLineSize:12 } | 
| lineDataSymbolLineColor | string | 000000 | color of data symbol line | hex color code. Ex: { lineDataSymbolLineColor:'0088CC' } | 
| lineSize | number | 2 | thickness of data line (0 is no line) | 0-256. Ex: { lineSize: 1 } | 
| lineSmooth | boolean | false | whether to smooth lines | trueorfalse- Ex:{ lineSmooth: true } | 
| shadow | ShadowProps | data element shadow options | noneorShadowProps | 
IChartPropsChartBar), Series Axis (IChartPropsDataTable)| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| bar3DShape | string | box | bar 3d shape | box,cylinder,coneToMax,pyramid,pyramidToMax | 
| barGapDepthPct | number | 150 | width between bar groups (percent) | 0-500. Ex: { barGapWidthPct:50 } | 
| dataLabelBkgrdColors | boolean | false | bkgd color is series color | trueorfalse | 
| serAxisBaseTimeUnit | string | series-axis base time unit | daysmonthsoryears | |
| serAxisHidden | boolean | false | hide series-axis | trueorfalse | 
| serAxisOrientation | string | minMax | series-axis orientation | maxMin(high->low) orminMax(low->high) | 
| serAxisLabelColor | string | 000000 | series-axis color | hex color code. Ex: { serAxisLabelColor:'0088CC' } | 
| serAxisLabelFontBold | boolean | false | make cat axis label bold | trueorfalse | 
| serAxisLabelFontFace | string | Arial | series-axis font face | font name. Ex: { titleFontFace:'Arial' } | 
| serAxisLabelFontSize | integer | 18 | series-axis font size | 1-256. Ex: { titleFontSize:12 } | 
| serAxisLabelFrequency | integer | PPT “Interval Between Labels” | 1-n. Ex: { serAxisLabelFrequency: 2 } | |
| serAxisLabelPos | string | nextTo | axis label position | low,high, ornextTo. Ex:{ serAxisLabelPos: 'low' } | 
| serAxisLineShow | boolean | true | show/hide series-axis line | trueorfalse | 
| serAxisMajorTimeUnit | string | series-axis major time unit | days,monthsoryears | |
| serAxisMajorUnit | integer | series-axis major unit | Positive integer. Ex: { serAxisMajorUnit:12 } | |
| serAxisMinorTimeUnit | string | series-axis minor time unit | days,monthsoryears | |
| serAxisMinorUnit | integer | series-axis minor unit | Positive integer. Ex: { serAxisMinorUnit:1 } | |
| serAxisTitle | string | Axis Title | axis title | a string. Ex: { serAxisTitle:'Regions' } | 
| serAxisTitleColor | string | 000000 | title color | hex color code. Ex: { serAxisTitleColor:'0088CC' } | 
| serAxisTitleFontFace | string | Arial | font face | font name. Ex: { serAxisTitleFontFace:'Arial' } | 
| serAxisTitleFontSize | integer | font size | 1-256. Ex: { serAxisTitleFontSize:12 } | |
| serAxisTitleRotate | integer | title rotation (degrees) | 0-360. Ex: { serAxisTitleRotate:45 } | |
| serGridLine | object | none | series grid line style | object with properties size(pt),colorandstyle('solid','dash'or'dot') or'none'to hide | 
| v3DRAngAx | boolean | true | Right angle axes | trueorfalse | 
| v3DPerspective | integer | 18 | series-axis font size | 1-240. Ex: { v3DPerspective:125 } | 
| v3DRotX | integer | x-axis rotation (degrees) | -90-90. Ex:{ v3DRotX:-45 } | |
| v3DRotY | integer | title rotation (degrees) | 0-360. Ex: { v3DRotY:180 } | |
| valueBarColors | boolean | false | forces chartColors on multi-data-series | trueorfalse | 
| Option | Type | Unit | Default | Description | Possible Values | 
|---|---|---|---|---|---|
| type | string | outer | shadow type | outerorinner. Ex:{ type:'outer' } | |
| angle | number | degrees | 90 | shadow angle | 0-359. Ex: { angle:90 } | 
| blur | number | points | 3 | blur size | 1-256. Ex: { blur:3 } | 
| color | string | 000000 | shadow color | hex color code. Ex: { color:'0088CC' } | |
| offset | number | points | 1.8 | offset size | 1-256. Ex: { offset:2 } | 
| opacity | number | percent | 0.35 | opacity | 0-1. Ex: { opacity:0.35 } | 
| Option | Type | Default | Description | Possible Values | 
|---|---|---|---|---|
| catAxes | array | array of two axis options objects | See example below | |
| secondaryCatAxis | boolean | false | If data should use secondary category axis (or primary) | trueorfalse | 
| secondaryValAxis | boolean | false | If data should use secondary value axis (or primary) | trueorfalse | 
| valAxes | array | array of two axis options objects | See example below | 
Sample code: demos/modules/demo_chart.mjs