Overview
Column and bar charts are the most common chart types in business presentations. The pptx.dev API supports single series, clustered, stacked, and 100% stacked variants for both vertical (column) and horizontal (bar) orientations.
Column and Bar Chart Types
| OPF type | Description |
|---|---|
column |
Vertical columns; several series sit side by side |
stacked-column |
Series stacked into one column per category |
100pct-stacked-column |
Series normalized to each category’s total |
bar |
Horizontal bars; several series sit side by side |
stacked-bar |
Series stacked into one bar per category |
100pct-stacked-bar |
Horizontal series normalized to each category’s total |
The data columns determine the series count. A two- or three-series chart uses the same type.
Example: Revenue by Quarter
{
"$schema": "https://openpresentation.org/schema/opf/v1",
"name": "Quarterly Revenue",
"slides": [
{
"layout": "chart",
"title": "Quarterly Revenue",
"chart": {
"type": "column",
"data": {
"columns": [
"Series",
"Q1",
"Q2",
"Q3",
"Q4"
],
"rows": [
[
"Revenue ($K)",
320,
480,
540,
620
]
]
}
},
"design": {
"titleAlignment": "center",
"contentAlignment": "center"
}
}
],
"catalogs": {
"default": {
"source": "https://www.pptx.gallery",
"layouts": {
"chart": {
"name": "Chart",
"summary": "One to six charts, with an optional note.",
"tags": [
"Visuals"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"name": "charts",
"accepts": [
"chart",
"group"
],
"role": "primary",
"flow": "grid"
},
{
"name": "note",
"size": "auto",
"accepts": [
"text"
],
"role": "supporting",
"flow": "none"
}
],
"description": "Give a chart enough space to show its evidence. Use the title to state the conclusion and labels to explain the measures.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/chart.svg"
}
}
}
}
}
}
Example: Year-Over-Year Comparison
Use column with two numeric data columns to compare two years:
{
"$schema": "https://openpresentation.org/schema/opf/v1",
"name": "Revenue: 2025 vs. 2026",
"slides": [
{
"layout": "chart",
"title": "Revenue: 2025 vs. 2026",
"chart": {
"type": "column",
"data": {
"columns": [
"Series",
"Q1",
"Q2",
"Q3",
"Q4"
],
"rows": [
[
"2025",
280,
350,
420,
510
],
[
"2026",
320,
480,
540,
620
]
]
}
},
"design": {
"titleAlignment": "center",
"contentAlignment": "center"
}
}
],
"catalogs": {
"default": {
"source": "https://www.pptx.gallery",
"layouts": {
"chart": {
"name": "Chart",
"summary": "One to six charts, with an optional note.",
"tags": [
"Visuals"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"name": "charts",
"accepts": [
"chart",
"group"
],
"role": "primary",
"flow": "grid"
},
{
"name": "note",
"size": "auto",
"accepts": [
"text"
],
"role": "supporting",
"flow": "none"
}
],
"description": "Give a chart enough space to show its evidence. Use the title to state the conclusion and labels to explain the measures.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/chart.svg"
}
}
}
}
}
}
Example: Stacked Revenue Breakdown
Use stacked-column with one numeric data column per segment to show the revenue breakdown:
{
"$schema": "https://openpresentation.org/schema/opf/v1",
"name": "Revenue by Segment",
"slides": [
{
"layout": "chart",
"title": "Revenue by Segment",
"chart": {
"type": "stacked-column",
"data": {
"columns": [
"Series",
"Q1",
"Q2",
"Q3",
"Q4"
],
"rows": [
[
"Enterprise",
180,
220,
260,
300
],
[
"Mid-Market",
100,
160,
180,
200
],
[
"SMB",
40,
100,
100,
120
]
]
}
},
"design": {
"titleAlignment": "center",
"contentAlignment": "center"
}
}
],
"catalogs": {
"default": {
"source": "https://www.pptx.gallery",
"layouts": {
"chart": {
"name": "Chart",
"summary": "One to six charts, with an optional note.",
"tags": [
"Visuals"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"name": "charts",
"accepts": [
"chart",
"group"
],
"role": "primary",
"flow": "grid"
},
{
"name": "note",
"size": "auto",
"accepts": [
"text"
],
"role": "supporting",
"flow": "none"
}
],
"description": "Give a chart enough space to show its evidence. Use the title to state the conclusion and labels to explain the measures.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/chart.svg"
}
}
}
}
}
}
Example: Horizontal Bar Chart
Horizontal bars work better when category labels are long:
{
"$schema": "https://openpresentation.org/schema/opf/v1",
"name": "Customer Satisfaction by Department",
"slides": [
{
"layout": "chart-beside",
"title": "Customer Satisfaction by Department",
"chart": {
"type": "bar",
"data": {
"columns": [
"Series",
"Engineering",
"Customer Success",
"Sales",
"Marketing",
"Operations"
],
"rows": [
[
"CSAT Score",
92,
88,
85,
82,
79
]
]
}
},
"design": {
"contentAlignment": "center"
}
}
],
"catalogs": {
"default": {
"source": "https://www.pptx.gallery",
"layouts": {
"chart-beside": {
"name": "Chart beside",
"summary": "A chart with the takeaway beside it.",
"tags": [
"Visuals"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"direction": "row",
"regions": [
{
"name": "chart",
"size": 3,
"accepts": [
"chart"
],
"role": "primary",
"flow": "none"
},
{
"name": "notes",
"size": 2,
"accepts": [
"text",
"list",
"metric",
"quote",
"chart"
],
"role": "supporting",
"flow": "column"
}
]
}
],
"description": "Pair a chart with an explanation of its result. Keep the text focused on the pattern or decision supported by the data.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/chart-beside.svg"
}
}
}
}
}
}
When to Use Each Type
| Use case | Chart type |
|---|---|
| Single metric over time | column |
| Comparing two groups | column or bar with several series |
| Part-to-whole over time | stacked-column |
| Percentage composition | 100pct-stacked-column |
| Long category labels | bar |
Next Steps
- Create line charts for trends
- Add pie and doughnut charts for composition
- See all chart types