Loading...
pack
is a grid layout transform that allows graphical elements to be compactly arranged in a container space according to a row-column structure. The pack
transform works through the following main steps:
The pack
transform is primarily used for Unit Visualization, effectively solving layout problems for large numbers of discrete elements. Common use cases include:
For example, the following case shows the distribution of Titanic passengers by cabin class and survival status. Through the pack
transform, each passenger point is arranged in an orderly manner, clearly showing the quantity distribution of each category.
import { Chart } from '@antv/g2';const chart = new Chart({container: 'container',});chart.options({type: 'facetRect',autoFit: true,data: {type: 'fetch',value: 'https://assets.antv.antgroup.com/g2/titanic.json',transform: [{ type: 'sortBy', fields: ['survived'] },{type: 'map',callback: ({ survived, ...d }) => ({...d,survived: survived + '',}),},],},encode: { x: 'pclass' },children: [{type: 'point',encode: { color: 'survived', shape: 'point', size: 3 },transform: [{ type: 'pack' }],legend: {color: { labelFormatter: (d) => (d === '1' ? 'Yes' : 'No') },},tooltip: { title: '', items: ['pclass', 'survived'] },},],});chart.render();
For more examples, you can check the Unit Visualization page.
Property | Description | Type | Default | Required |
---|---|---|---|---|
padding | Spacing between each element, in pixels | number | 0 | |
direction | Stacking direction of elements | row | col | col |
padding
controls the spacing between each element, measured in pixels. Increasing the padding
value creates more visible separation between elements. When the value is 0, elements are arranged closely together.
direction
determines the stacking direction of elements in the grid:
col
: Column (vertical) stackingrow
: Row (horizontal) stackingBy adjusting direction
, you can change the layout direction of data points in the chart to suit different reading preferences and data characteristics.
The following case shows the distribution of Titanic passengers by gender and survival status. By configuring the padding
and direction
parameters of the pack
transform, the results are more intuitive.
import { Chart } from '@antv/g2';const chart = new Chart({container: 'container',});chart.options({type: 'facetRect',autoFit: true,shareData: true,data: {type: 'fetch',value: 'https://assets.antv.antgroup.com/g2/titanic.json',transform: [{ type: 'sortBy', fields: ['survived'] },{type: 'map',callback: ({ survived, ...d }) => ({...d,survived: survived + '',}),},],},encode: { x: 'sex' },children: [{type: 'point',encode: { color: 'survived', shape: 'point', size: 3 },transform: [{ type: 'pack', padding: 5, direction: 'row' }],legend: {color: { labelFormatter: (d) => (d === '1' ? 'Yes' : 'No') },},tooltip: { title: '', items: ['sex', 'survived'] },},],});chart.render();