Charts - Overview¶
Adding a new chart - steps and tests¶
- Analysis - add chart type page with schema for each new chart element and see if there’s anything distinctive about the chart type series
- feature/sld-add-chart .. add new chart types, steps/chart.py
- pptx/chart/xmlwriter.py add new type to ChartXmlWriter
- pptx/chart/xmlwriter.py add _AreaChartXmlWriter, one per new element type
- pptx/chart/series.py add AreaSeries, one per new element type
There are 73 different possible chart types, but only 16 distinct XML chart-type elements. The implementation effort is largely proportional to the number of new XML chart-type elements.
Here is an accounting of the implementation status of the 73 chart types:
29 - supported for creation so far¶
areaChart¶
- AREA
- AREA_STACKED
- AREA_STACKED_100
barChart¶
- BAR_CLUSTERED
- BAR_STACKED
- BAR_STACKED_100
- COLUMN_CLUSTERED
- COLUMN_STACKED
- COLUMN_STACKED_100
bubbleChart¶
- BUBBLE
- BUBBLE_THREE_D_EFFECT
doughnutChart¶
- DOUGHNUT
- DOUGHNUT_EXPLODED
lineChart¶
- LINE
- LINE_MARKERS
- LINE_MARKERS_STACKED
- LINE_MARKERS_STACKED_100
- LINE_STACKED
- LINE_STACKED_100
pieChart¶
- PIE
- PIE_EXPLODED
radarChart¶
- RADAR
- RADAR_FILLED
- RADAR_MARKERS
scatterChart¶
- XY_SCATTER
- XY_SCATTER_LINES
- XY_SCATTER_LINES_NO_MARKERS
- XY_SCATTER_SMOOTH
- XY_SCATTER_SMOOTH_NO_MARKERS
44 remaining:¶
area3DChart¶
- THREE_D_AREA
- THREE_D_AREA_STACKED
- THREE_D_AREA_STACKED_100
bar3DChart (28 types)¶
- THREE_D_BAR_CLUSTERED
- THREE_D_BAR_STACKED
- THREE_D_BAR_STACKED_100
- THREE_D_COLUMN
- THREE_D_COLUMN_CLUSTERED
- THREE_D_COLUMN_STACKED
- THREE_D_COLUMN_STACKED_100
- CONE_BAR_CLUSTERED
- CONE_BAR_STACKED
- CONE_BAR_STACKED_100
- CONE_COL
- CONE_COL_CLUSTERED
- CONE_COL_STACKED
- CONE_COL_STACKED_100
- CYLINDER_BAR_CLUSTERED
- CYLINDER_BAR_STACKED
- CYLINDER_BAR_STACKED_100
- CYLINDER_COL
- CYLINDER_COL_CLUSTERED
- CYLINDER_COL_STACKED
- CYLINDER_COL_STACKED_100
- PYRAMID_BAR_CLUSTERED
- PYRAMID_BAR_STACKED
- PYRAMID_BAR_STACKED_100
- PYRAMID_COL
- PYRAMID_COL_CLUSTERED
- PYRAMID_COL_STACKED
- PYRAMID_COL_STACKED_100
line3DChart¶
- THREE_D_LINE
pie3DChart¶
- THREE_D_PIE
- THREE_D_PIE_EXPLODED
ofPieChart¶
- BAR_OF_PIE
- PIE_OF_PIE
stockChart¶
- STOCK_HLC
- STOCK_OHLC
- STOCK_VHLC
- STOCK_VOHLC
surfaceChart¶
- SURFACE
- SURFACE_WIREFRAME
surface3DChart¶
- SURFACE_TOP_VIEW
- SURFACE_TOP_VIEW_WIREFRAME
Chart parts glossary¶
- data point (point)
- An individual numeric value, represented by a bar, point, column, or pie slice.
- data series (series)
- A group of related data points. For example, the columns of a series will all be the same color.
- category axis (X axis)
- The horizontal axis of a two-dimensional or three-dimensional chart.
- value axis (Y axis)
- The vertical axis of a two-dimensional or three-dimensional chart.
- depth axis (Z axis)
- The front-to-back axis of a three-dimensional chart.
- grid lines
- Horizontal or vertical lines that may be added to an axis to aid comparison of a data point to an axis value.
- legend
- A key that explains which data series each color or pattern represents.
- floor
- The bottom of a three-dimensional chart.
- walls
- The background of a chart. Three-dimensional charts have a back wall and a side wall, which can be formatted separately.
- data labels
- Numeric labels on each data point. A data label can represent the actual value or a percentage.
- axis title
- Explanatory text label associated with an axis
- data table
- A optional tabular display within the plot area of the values on which the chart is based. Not to be confused with the Excel worksheet holding the chart values.
- chart title
- A label explaining the overall purpose of the chart.
- chart area
- Overall chart object, containing the chart and all its auxiliary pieces such as legends and titles.
- plot area
- Region of the chart area that contains the actual plots, bounded by but not including the axes. May contain more than one plot, each with its own distinct set of series. A plot is known as a chart group in the MS API.
- axis
… may be either a category axis or a value axis … on a two-dimensional chart, either the horizontal (x) axis or the vertical (y) axis. A 3-dimensional chart also has a depth (z) axis. Pie, doughnut, and radar charts have a radial axis.
How many axes do each of the different chart types have?
- series categories
- …
- series values
- …
Chart types¶
- column
- 2-D column
- clustered column
- stacked column
- 100% stacked column
- 3-D column
- 3-D clustered column
- 3-D stacked column
- 3-D 100% stacked column
- 3-D column
- cylinder
- cone
- pyramid
- 2-D column
- line
- 2-D line
- 3-D line
- pie
- 2-D pie
- 3-D pie
- bar
- 2-D bar
- 3-D bar
- cylinder
- cone
- pyramid
- area
- scatter
- other
- stock (e.g. open-high-low-close)
- surface
- doughnut
- bubble
- radar