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",
'scale-x': {
values: [ "0-9", "10-19", "20-29", ...] // Array of strings or numbers
},
series: [ // Length 2 array of objects
{
'data-side': 1, // 1 || 2
values: [val1, val2, ..., valN] // Array of numbers
},
{
'data-side': 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: {
'background-color': "#D04347"
}
},
'side-2': {
plotarea: {
'background-color': "#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: {
'label-placement': "middle"
},
}