Population Pyramid Charts
Overview
Population pyramids can be modified to display as:
- Vertical Bars
- Horizontal Bars
- Lines
- Vertical Lines
- Filled Lines (Area)
- Vertical Filled Lines (Vertical Area)
Note: See our Population Pyramid Gallery for inspiration on all the different population pyramid possibilities.
Population Pyramid Chart Type
In your chart object, add a type
attribute and set the value to pop-pyramid
.
{
type: 'pop-pyramid',
}
Data
Population pyramids accept data in the form of a series
object array.
Data-Side and Values Array
Create a series
object array of length 2. Within each object, set the data-side
attribute to either 1 (left side) or 2 (right side), with no repeated numbers. Set each side's values within the values
array. Set the scale values within the scale-x
object.
{
type: 'pop-pyramid',
scaleX: {
values: [ '0-9', '10-19', '20-29', ...] // Array of strings or numbers
},
series: [ // Length 2 array of objects
{
dataSide: 1, // 1 || 2
values: [val1, val2, ..., valN] // Array of numbers
},
{
dataSide: 2,
values: [val1, val2, ..., valN]
}
]
}
Chart-Specific Properties
Make chart-specific customizations and styling changes via the options
object.
Aspects
The aspect of a population pyramid can be changed using the aspect
attribute in the options
object. The aspect
value options for population pyramids are:
Value | Description |
---|---|
hbar (default) |
Data is displayed as horizontal rectangular bars. Since it is the default aspect, specifying its type is optional. |
bar |
Data is displayed as vertical rectangular bars |
line |
Data is displayed as data points plotted on an x-y axis and connected by lines |
vline |
Data is displayed as data points plotted on a flipped x-y axis and connected by lines |
area |
Data is presented as connected data points on an x-y axis, with the region between data points and x-axis filled in |
varea |
Data is presented as connected data points on a flipped x-y axis, with the region between the line and x-axis filled in |
{
type: 'pop-pyramid',
options: {
aspect: 'bar' // | 'hbar' | 'line' | 'vline' | 'area' | 'varea'
}
}
The following demo illustrates the different options available for population pyramids:
Side Styling
Within the options
object, the side-1
and side-2
objects allow you to configure the various styling attributes and objects of each side of a population pyramid.
{
options: {
'side-1': {
plotarea: {
backgroundColor: '#D04347'
}
},
'side-2': {
plotarea: {
backgroundColor: '#319CFC'
}
}
}
}
Further Customization
Once you have your basic chart, you can customize and style it to fit your data visualization needs.
Legends/ Shared Legend
Enable and style a legend for each side of the population pyramid by creating a legend
object in your chart object.
Setting shared: true
in the legend
object merges the legend items of the plot objects from both sides into a single, shared legend object. Omitting the shared
attribute, or setting it to false
, will keep the legend items from each side in their own legend objects.
Note: Learn more about legends with our [Legend Tutorial] (https://www.zingchart.com/tutorials/elements/legend) and shared legends with our Shared Interactions Tutorial.
{
legend: {
shared: true // false
}
}
Label Placement
Scale labels can be placed in two places in a population pyramid. By default, labels are duplicated on both sides of a population pyramid ('label-placement': "side"
). Setting 'label-placement': "middle"
will place the labels between the two sides of the population pyramid.
Note: Learn more about scale labels with our Scales Tutorial.
{
type: 'pop-pyramid',
options: {
labelPlacement: 'middle'
},
}