Data Explorer

A Flourish template for exploring data. Each row is represented by an entity (e.g. circle)

Updated 4 years ago to v5.3.0-prerelease.2 by bespoke

How to use this template

Data explorer

A template for exploring and presenting data. Each row of data is represented by a single shape (e.g. a circle) and you can choose different columns to position, size and color the shapes by.

For example if you choose to position by a categorical column and size by a numeric column the circles will group by category and size according to the numeric column.

There are several different layouts including packed circles, beeswarm and scatter. The chosen layout depends on which columns have been selected to position, size and color the shapes. There's also a map view.

Data requirements

Each row of data represents an item (such as a country). There can be zero or more categorical columns (e.g. region) and numeric columns (e.g. GDP).

You can also add a name column (which'll be used to label the shapes), an id column (which'll ensure object constancy during transitions) and a column (categorical) to filter by.

For the map view you can add a GeoJSON feature to each data item by adding another CSV file containing the features. Use the "Geo key" binding in each file to join the two files.

Other features

  • click an item to freeze/unfreeze its popup. You can also click the background to unfreeze the popup.

This section documents API usage specific to this template, so for an introduction we suggest you refer to the generic API documentation instead.

template: @bespoke/data-explorer

version: 5

Template data

There are three different formats in which you can supply data to this template. The most convenient for you to use likely depends on the source of your data, as described below.

1. Array of arrays, and a bindings object

You can supply arrays of arrays to opts.data, which might look like:

{
    data: {
        data: [
            [ "DataColumn1Value1", "DataColumn2Value1",
            [ "DataColumn1Value2", "DataColumn2Value2",
            [ "DataColumn1Value3", "DataColumn2Value3",
            ...
        ],
        geo: [
            [ "GeoColumn1Value1", "GeoColumn2Value1",
            [ "GeoColumn1Value2", "GeoColumn2Value2",
            [ "GeoColumn1Value3", "GeoColumn2Value3",
            ...
        ]
    }
}

where each array of arrays represents the rows in a data sheet.

To tell the API how the values from each column should be associated with the keys that the template is expecting, you must also supply an object attached to opts.bindings. (The meanings of the keys in the bindings object are documented below.) The minimal bindings you can supply for this template are as shown in this example:

{
    template: "@bespoke/data-explorer",
    version: "5",
    bindings: {
        data: {
            
        },
        geo: {
            
        }
    },
    data: {
        data: [
            [ "DataColumn1Value1", "DataColumn2Value1",
            [ "DataColumn1Value2", "DataColumn2Value2",
            [ "DataColumn1Value3", "DataColumn2Value3",
            ...
        ],
        geo: [
            [ "GeoColumn1Value1", "GeoColumn2Value1",
            [ "GeoColumn1Value2", "GeoColumn2Value2",
            [ "GeoColumn1Value3", "GeoColumn2Value3",
            ...
        ]
    }
}

All possible bindings that you can supply are shown in this example:

{
    template: "@bespoke/data-explorer",
    version: "5",
    bindings: {
        data: {
            categoryColumns: [0, 1, ...], // index(es) of column(s) in your data
            numericColumns: [2, 3, ...], // index(es) of column(s) in your data
            filter: 4, // index of a column in your data
            id: 5, // index of a column in your data
            label: 6, // index of a column in your data
            geo_key: 7, // index of a column in your data
            metadata: [8, 9, ...], // index(es) of column(s) in your data
        },
        geo: {
            geo_key: 0, // index of a column in your data
            feature: 1, // index of a column in your data
        }
    },
    data: {
        data: [
            [ "DataColumn1Value1", "DataColumn2Value1",
            [ "DataColumn1Value2", "DataColumn2Value2",
            [ "DataColumn1Value3", "DataColumn2Value3",
            ...
        ],
        geo: [
            [ "GeoColumn1Value1", "GeoColumn2Value1",
            [ "GeoColumn1Value2", "GeoColumn2Value2",
            [ "GeoColumn1Value3", "GeoColumn2Value3",
            ...
        ]
    }
}

2. Array of objects with arbitrary keys, and a bindings object

This format is most likely useful when you have data from an external source, such as CSV data loaded from d3-dsv. You should supply this attached to the opts.data, which might look like:

{
        data: [
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            ...
        ],
        geo: [
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            ...
        ]
    }

... but with the keys being the column headers from your source data instead. You must also supply an object attached to opts.bindings. The minimal bindings you can supply for this template are as shown in this example:

{
    template: "@bespoke/data-explorer",
    version: "5",
    bindings: {
        data: {
            
        },
        geo: {
            
        }
    },
    data: {
        data: [
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            ...
        ],
        geo: [
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            ...
        ]
    }
}

All possible bindings that you can supply are shown in this example:

{
    template: "@bespoke/data-explorer",
    version: "5",
    bindings: {
        data: {
            categoryColumns: ["DataHeader1", "DataHeader2", ...],
            numericColumns: ["DataHeader3", "DataHeader4", ...],
            filter: "DataHeader5",
            id: "DataHeader6",
            label: "DataHeader7",
            geo_key: "DataHeader8",
            metadata: ["DataHeader9", "DataHeader10", ...],
        },
        geo: {
            geo_key: "GeoHeader1",
            feature: "GeoHeader2",
        }
    },
    data: {
        data: [
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            { "DataHeader1": ..., "DataHeader2": ..., ... },
            ...
        ],
        geo: [
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            { "GeoHeader1": ..., "GeoHeader2": ..., ... },
            ...
        ]
    }
}

(As before, the keys containing "Header" would be replaced by column names from your data source.)

3. Array of objects with template-defined keys

There is an alternative format you can use, which is likely to be easier to use if your data is not from a spreadsheet source. With this alternative format you supply your data to the template as an array of objects, attached to opts.data, where the keys must be those used by the template, as documented below. In this case there is no need to supply a bindings object, since the key names are already those expected by the template. The required properties in the data object are as follows (scroll down for a description of what each property is):

{
    template: "@bespoke/data-explorer",
    version: "5",
    data: {
    data: [
        {
            categoryColumns: [...],
            numericColumns: [...],
            metadata: [...]
        },
        ...
    ]
},
    ...
}

And the full list of all possible properties is as follows:

{
    template: "@bespoke/data-explorer",
    version: "5",
    data: {
    data: [
        {
            categoryColumns: [...],
            numericColumns: [...],
            filter: ...,
            id: ...,
            label: ...,
            geo_key: ...,
            metadata: [...]
        },
        ...
    ],
    geo: [
        {
            geo_key: ...,
            feature: ...
        },
        ...
    ]
},
    ...
}

Meanings of the template data keys:

  • data.categoryColumns: Columns containing categorical data
  • data.numericColumns: Columns containing numeric data
  • data.filter: Categorical column to filter by
  • data.id: Column to use as a unique id (to ensure object constancy during transitions)
  • data.label: Column to use as a label for each item
  • data.geo_key: Unique id for joining boundary data. Must contain values that match "Geo key" values in "Boundaries". Leave blank to disable map mode.
  • data.metadata: Makes additional columns (text, emoji, image URLs, etc) available in custom popups
  • geo.geo_key: Unique id for joining boundary data. Most contain ids that match the "Geo key" values in "Data".
  • geo.feature: A geoJSON feature describing a boundary (typically geometry type will be Polygon)

Template settings

Options for opts.state.

Data Explorer

transition_duration number

Transition duration.

scatter_max_radius number

Scatter plot maximum radius.

Min: 1

Max: 200

aspect_ratio number

Aspect ratio.

Min: 0.1

Max: 5

aspect_ratio_mobile number

Aspect ratio (mobile).

Min: 0.1

Max: 5

filter_out_blank_values boolean

Hide items with invalid or missing values. Filter out items with invalid or missing values. For example if Position by is a categorical column, items without a valid value will be filtered out.

show_all_geojson_features boolean

Show all GeoJSON features. Show all GeoJSON features even if not joined to a row in the Data sheet

prevent_clipping boolean

Prevent clipping. Prevent shapes close to the chart boundaries being clipped. (This particularly applies to beeswarm and scatter layouts.)

renderer string

Renderer. Use SVG or Canvas for rendering

Allowed values:

  • canvas (Canvas)
  • svg (SVG)

Item color

default_color color

Default color. Color to use when 'Shade by' is 'None'

invalid_color color

Missing or invalid data color. Color to use when data value is invalid or missing

stroke_color color

Stroke color.

stroke_width number

Stroke width.

color.scale_type string

Scale type.

Allowed values:

  • categorical (Categorical)
  • sequential (Sequential)
  • diverging (Diverging)

color.categorical_type string

Allowed values:

  • palette (Palette)
  • generated (Generated)

color.categorical_palette colors

Palette.

color.categorical_extend boolean

Extend. Automatically generate additional colours when needed to avoid the palette colours being used more than once.

color.categorical_seed_color color

Seed color. Initial color in generated sequence (avoid shades of grey).

color.categorical_rotation_angle number

Hue rotation angle. Angle, in degrees, between one generated colour and the next. The default value, ~360/(Golden ratio), ensures adjacent hues are not too similar.

Max: 360

color.categorical_color_space string

Allowed values:

  • hcl (HCL)
  • hsl (HSL)

color.categorical_custom_palette text

Custom overrides. Type the name of the entity whose colour you want to set, a colon and then a colour (using a name, hex-code or rgb declaration). Multiple colours can be set using multiple lines. For example:<br /><hr />Party 1: red<br />Party 2: #4455AA<br />Party 3: rgb(30,168,26)

color.sequential_palette string

Palette.

Allowed values:

  • Oranges
  • Reds
  • Blues
  • Greens
  • Greys
  • Purples
  • Viridis
  • Inferno
  • Magma
  • Plasma
  • Warm
  • Cool
  • CubehelixDefault (Cubehelix)
  • BuGn (Blue/Green)
  • BuPu (Blue/Purple)
  • GnBu (Green/Blue)
  • OrRd (Orange/Red)
  • PuBuGn (Purple/Blue/Green)
  • PuBu (Purple/Blue)
  • PuRd (Purple/Red)
  • RdPu (Red/Purple)
  • YlGnBu (Yellow/Blue/Green)
  • YlGn (Yellow/Green)
  • YlOrBr (Yellow/Orange/Brown)
  • YlOrRd (Yellow/Orange/Red)
  • Carrots
  • Custom

color.sequential_custom_min color

Minimum color.

color.sequential_custom_max color

Maximum color.

color.sequential_color_space string

Allowed values:

  • rgb (RGB)
  • lab (LAB)
  • hcl (HCL)
  • hsl (HSL)

color.sequential_reverse boolean

Reverse.

color.diverging_palette string

Palette.

Allowed values:

  • RdBu (Red/Blue)
  • RdYlGn (Red/Yellow/Green)
  • PiYG (Pink/Yellow/Green)
  • BrBG (Brown/Blue/Green)
  • PRGn (Purple/Red/Green)
  • PuOr (Purple/Orange)
  • RdGy (Red/Grey)
  • RdYlBu (Red/Yellow/Blue)
  • Spectral
  • Custom

color.diverging_custom_min color

Minimum color.

color.diverging_custom_mid color

Midpoint color.

color.diverging_custom_max color

Maximum color.

color.diverging_color_space string

Allowed values:

  • rgb (RGB)
  • lab (LAB)
  • hcl (HCL)
  • hsl (HSL)

color.diverging_reverse boolean

Reverse.

color.binning boolean

Sequential mode. In linear mode, the color scale will run as a smooth gradient between 2 colors. In binned mode, the gradient will be divided in smaller blocks.

Allowed values:

  • false (Linear)
  • true (Binned)

color.bin_count number

Number of bins.

color.bin_mode string

Binning mode.

Allowed values:

  • fixed (Fixed width)
  • quantile (Quantile)
  • custom (Custom thresholds)

color.bin_thresholds string

Custom thresholds. Write your custom thresholds, separated by a ";" For example 5;10;15

Item labels

text_color color

Label color.

item_label_min_size number

Minimum size. Labels smaller than the specified size will be hidden. Specified in rems, a multiple of the base font size.

item_label_max_size number

Maximum size. Labels larger than the specified size will be hidden. Specified in rems, a multiple of the base font size.

Group labels

group_label_size number

Size. Sets size of group labels. Specified in rems, a multiple of the base font size.

group_label_margin number

Space for label. Sets size of space allocated to group labels

group_label_color color

Colour.

group_label_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

group_sort_method string

Sort groups. Sets how the groups will be sorted. If 'None' is chosen the group labels will be in the same order as in the data sheet.

Allowed values:

  • none (None)
  • ascending (Ascending)
  • descending (Descending)

X axis

xAxis.axis_position string

Position.

Allowed values:

  • bottom (Bottom)
  • float-below (Float ↓)
  • float-above (Float ↑)
  • top (Top)
  • off (Hidden)

xAxis.y_axis_position string

Y value. Vertical position of the x axis on the y scale

xAxis.numeric_scale_type string

Type.

Allowed values:

  • linear (Linear)
  • log (Log)

xAxis.linear_min number

Min.

xAxis.linear_max number

Max.

xAxis.log_min number

Min.

xAxis.log_max number

Max.

xAxis.datetime_min string

Min (date).

xAxis.datetime_max string

Max (date).

xAxis.title_mode string

Type.

Allowed values:

  • auto (Auto)
  • custom (Custom)

xAxis.title string

Text.

xAxis.title_styling boolean

Styling.

xAxis.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

xAxis.title_color color

Color.

xAxis.title_size number

Size.

xAxis.title_padding number

Padding.

xAxis.tick_label_position string

Position.

Allowed values:

  • default (Default)
  • left (Left)
  • right (Right)

xAxis.tick_label_styling boolean

Styling.

xAxis.tick_label_size number

Size.

xAxis.tick_label_color color

Color.

xAxis.tick_padding number

Padding.

xAxis.tick_label_angle string

Angle.

Allowed values:

  • 0 (0°)
  • 30 (30°)
  • 45 (45°)
  • 60 (60°)
  • 90 (90°)

xAxis.tick_label_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

xAxis.tick_label_space_mode string

Space mode.

Allowed values:

  • auto (Auto)
  • max (Max)
  • fixed (Fixed)

xAxis.tick_label_space number

Space.

xAxis.tick_mode string

Mode.

Allowed values:

  • auto (Auto)
  • number (Number)
  • custom (Custom)

xAxis.tick_number number

Number. Approximate number of ticks or gridlines. The actual number will depend on the range of values, chart size, etc.

xAxis.tick_custom text

One tick label per line. Specify the ticks to show, one per line

xAxis.line_and_tick_color color

Line color.

xAxis.line_and_tick_width number

Line width.

xAxis.tick_length number

Tick length.

xAxis.tick_side string

Tick side.

Allowed values:

  • out (Out)
  • in (In)

xAxis.line_visible boolean

Axis line.

xAxis.edge_padding number

Edge padding (%). Space between start/end of axis line and first/last category tick as a percentage of the spacing between ticks

Max: 100

xAxis.gridlines_visible boolean

Allowed values:

  • true (On)
  • false (Off)

xAxis.gridlines_styling boolean

Styling.

xAxis.gridline_color color

Color.

xAxis.gridline_style string

Style.

Allowed values:

  • solid (Solid)
  • dash (Dashed)
  • dot (Dotted)
  • dot_dash (Dot-dashed)

xAxis.gridline_width number

Width.

xAxis.gridline_category_dividers boolean

Put lines between categories. On a categorical axis this option disables the gridline on each tick and instead adds rules between each category to give a table-like design. Ignored for date and numeric axes.

xAxis.gridline_category_dividers_extend boolean

Extend. Extends the dividers into the axis margins.

Y axis

yAxis.axis_visible boolean

Allowed values:

  • true (Axis visible)
  • false (Axis hidden)

yAxis.numeric_scale_type string

Type.

Allowed values:

  • linear (Linear)
  • log (Log)

yAxis.linear_min number

Min.

yAxis.linear_max number

Max.

yAxis.log_min number

Min.

yAxis.log_max number

Max.

yAxis.datetime_min string

Min (date).

yAxis.datetime_max string

Max (date).

yAxis.title_mode string

Type.

Allowed values:

  • auto (Auto)
  • custom (Custom)

yAxis.title string

Text.

yAxis.title_styling boolean

Styling.

yAxis.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

yAxis.title_color color

Color.

yAxis.title_size number

Size.

yAxis.title_padding number

Padding.

yAxis.tick_label_position string

Position.

Allowed values:

  • default (Default)
  • above (Above)
  • below (Below)

yAxis.tick_label_styling boolean

Styling.

yAxis.tick_label_size number

Size.

yAxis.tick_label_color color

Color.

yAxis.tick_padding number

Padding.

yAxis.tick_label_angle string

Angle.

Allowed values:

  • 0 (0°)
  • 30 (30°)
  • 45 (45°)
  • 60 (60°)
  • 90 (90°)

yAxis.tick_label_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

yAxis.tick_label_space_mode string

Space mode.

Allowed values:

  • auto (Auto)
  • max (Max)
  • fixed (Fixed)

yAxis.tick_label_space number

Space.

yAxis.tick_mode string

Mode.

Allowed values:

  • auto (Auto)
  • number (Number)
  • custom (Custom)

yAxis.tick_number number

Number. Approximate number of ticks or gridlines. The actual number will depend on the range of values, chart size, etc.

yAxis.tick_custom text

One tick label per line. Specify the ticks to show, one per line

yAxis.line_and_tick_color color

Line color.

yAxis.line_and_tick_width number

Line width.

yAxis.tick_length number

Tick length.

yAxis.tick_side string

Side.

Allowed values:

  • out (Out)
  • in (In)

yAxis.line_visible boolean

Axis line.

yAxis.edge_padding number

Edge padding (%). Space between start/end of axis line and first/last category tick as a percentage of the spacing between ticks

Max: 100

yAxis.gridlines_visible boolean

Allowed values:

  • true (On)
  • false (Off)

yAxis.gridlines_styling boolean

Styling.

yAxis.gridline_color color

Color.

yAxis.gridline_style string

Style.

Allowed values:

  • solid (Solid)
  • dash (Dashed)
  • dot (Dotted)
  • dot_dash (Dot-dashed)

yAxis.gridline_width number

Width.

yAxis.gridline_category_dividers boolean

Put lines between categories. On a categorical axis this option disables the gridline on each tick and instead adds rules between each category to give a table-like design. Ignored for date and numeric axes.

yAxis.gridline_category_dividers_extend boolean

Extend. Extends the dividers into the axis margins

Legend

size_by_legend.show_legend boolean

Allowed values:

  • true (Enabled)
  • false (Disabled)

size_by_legend.text_color color

Color.

size_by_legend.text_size number

Size.

size_by_legend.title string

Title.

size_by_legend.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Normal)

size_by_legend.shape_fill color

Shape fill.

size_by_legend.shape_stroke color

Shape stroke. Hint: set to same value as fill for no stroke

size_by_legend.clip_height number

Max height. Maximum height of shape (relative to root font size)

size_by_legend.small_circle_size number

Small circle. Proportion of the small circle compared to the big circle. 0.5 means it's half the value of the big circle.

Max: 1

shade_by_legend_discrete.show_legend boolean

Allowed values:

  • true (Enabled)
  • false (Disabled)

shade_by_legend_discrete.text_color color

Color.

shade_by_legend_discrete.text_size number

Size.

shade_by_legend_discrete.title string

Title.

shade_by_legend_discrete.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Normal)

shade_by_legend_discrete.swatch_width number

Width.

shade_by_legend_discrete.swatch_height number

Height.

shade_by_legend_discrete.swatch_radius number

Roundness. The radius of the corners of the swatch (in pixels)

shade_by_legend_discrete.order_override text

Custom order override. Manually specify the order of legend entries (one entry per line)

shade_by_legend_discrete.orientation string

Orientation.

Allowed values:

  • horizontal (Horizontal)
  • vertical (Vertical)

shade_by_legend_continuous.show_legend boolean

Allowed values:

  • true (Enabled)
  • false (Disabled)

shade_by_legend_continuous.text_color color

Color.

shade_by_legend_continuous.text_size number

Size.

shade_by_legend_continuous.title string

Title.

shade_by_legend_continuous.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Normal)

shade_by_legend_continuous.color_band_width number

Width.

shade_by_legend_continuous.color_band_height number

Height.

shade_by_legend_continuous.color_band_radius number

Roundness. The radius of the corners of the color band (in pixels)

shade_by_legend_continuous.binned_label_mode string

Binned label mode.

Allowed values:

  • thresholds (Thresholds)
  • centers (Centers)
  • custom (Custom)

shade_by_legend_continuous.binned_label_custom string

Custom bin labels. List numeric values, separated by semi-colons.

search_enabled boolean

Allowed values:

  • true (Enabled)
  • false (Disabled)

search_box_size number

Box size.

Max: 5

search_bg_color color

Background.

search_bg_opacity number

Opacity.

Max: 1

search_box_stroke number

Stroke. Strongness of stroke color

Max: 1

search_text_color color

Text color.

search_icon_color color

Icon color.

search_box_radius number

Roundness.

search_placeholder string

Placeholder text. The text to show when the search field is empty

search_dropdown boolean

Always show dropdown suggestions. If disabled it will only show suggestions after typing 2 characters

search_expanded boolean

Always expand searchbox.

popup.mode string

Allowed values:

  • none (None)
  • popup (Popup)
  • panel (Panel)
  • both (Both)

popup.popup_is_custom boolean

Allowed values:

  • false (Auto)
  • true (Custom content)

popup.popup_custom_header string

Popup custom header. The text to appear in the popup. You can use {{column_name}} to add a value from your data. It must be in a selected column, but you can add columns to “Metadata” if you just want to include them for use in the popup. Advanced users can include HTML to apply layouts, formatting, images, etc.

popup.popup_custom_main text

Popup custom main content. The text to appear in the popup. You can use {{column_name}} to add a value from your data. It must be in a selected column, but you can add columns to “Metadata” if you just want to include them for use in the popup. Advanced users can include HTML to apply layouts, formatting, images, etc.

popup.show_popup_styles boolean

Show popups styles.

popup.popup_width number

Width. In rems, multiples of base font size. Leave blank to let the width adjust based on the contents.

popup.popup_font_size number

Text size.

popup.popup_text_color color

Text colour.

popup.popup_align string

Align.

Allowed values:

  • left (fa-align-left)
  • center (fa-align-center)
  • right (fa-align-right)

popup.popup_background color

Fill colour.

popup.popup_background_opacity number

Fill opacity.

Max: 1

popup.popup_padding number

Padding.

popup.popup_radius number

Radius. Corner radius of popup

popup.popup_header_type string

Header style.

Allowed values:

  • block (Header block)
  • inline (Header inline)

popup.popup_header_background color

Background.

popup.popup_header_text_color color

Text.

popup.popup_list_type string

List type.

Allowed values:

  • table (fa-table)
  • ul (fa-list)

popup.popup_list_label_weight string

Label weight.

Allowed values:

  • normal (Normal)
  • bold (Bold)

popup.popup_list_separator string

List separator.

Predefined values:

  • : (:)
  • (–)
  • (Empty space)
  • <br /> (Line break)

popup.popup_shadow boolean

Shadow.

popup.popup_pointer boolean

Pointer.

popup.panel_is_custom boolean

Allowed values:

  • false (Auto)
  • true (Custom content)

popup.panel_custom_header string

Panel custom header. The text to appear in the panel. You can use {{column_name}} to add a value from your data. It must be in a selected column, but you can add columns to “Metadata” if you just want to include them for use in the popup. Advanced users can include HTML to apply layouts, formatting, images, etc.

popup.panel_custom_main text

Panel custom main content. The text to appear in the panel. You can use {{column_name}} to add a value from your data. It must be in a selected column, but you can add columns to “Metadata” if you just want to include them for use in the popup. Advanced users can include HTML to apply layouts, formatting, images, etc.

popup.panel_position string

Allowed values:

  • overlay (Overlay)
  • left (Left)
  • right (Right)
  • top (Top)
  • bottom (Bottom)

popup.panel_side_fixed boolean

Always show.

popup.panel_side_default_content text

Placeholder content.

popup.show_panel_styles boolean

Show panel styles.

popup.panel_width_overlay number

Width (%).

popup.panel_height_overlay number

Height (%).

popup.panel_width_side number

Width (%).

popup.panel_height_side number

Height (%).

popup.panel_max_width number

Max width (px).

popup.panel_max_height number

Max height (px).

popup.panel_text_color color

Text colour.

popup.panel_font_size number

Text size.

popup.panel_align string

Alignment.

Allowed values:

  • left (fa-align-left)
  • center (fa-align-center)
  • right (fa-align-right)

popup.panel_background color

Fill colour.

popup.panel_background_opacity number

Fill opacity.

Max: 1

popup.panel_padding number

Padding.

popup.panel_radius number

Radius. Corner radius of panel

popup.panel_list_type string

List type.

Allowed values:

  • table (fa-table)
  • ul (fa-list)

popup.panel_list_label_weight string

Label weight.

Allowed values:

  • normal (Normal)
  • bold (Bold)

popup.panel_list_separator string

List separator.

Predefined values:

  • : (:)
  • (–)
  • (Empty space)
  • <br /> (Line break)

popup.panel_shadow boolean

Shadow.

Controls

control_text_color color

Text color.

narrow_breakpoint number

Mobile breakpoint. If the window width is smaller than this number in pixels, the control panel will become an overlay

controls_style.font_size number

Text size.

Max: 5

controls_style.font_weight string

Text weight.

Allowed values:

  • bold (Bold)
  • normal (Normal)

controls_style.padding number

Height. Space below and above controls text

Max: 5

button_style.background color

Background.

button_style.background_selected color

Selected.

button_style.background_hover color

Mouse over.

button_style.font_color color

Text color.

button_style.font_color_selected color

Selected.

button_style.font_color_hover color

Mouse over.

button_style.button_styles_advanced boolean

Button border styles.

button_style.border_width number

Border width.

Max: 20

button_style.border_color color

Color.

button_style.border_transparency number

Transparency.

Max: 1

button_style.border_radius number

Radius.

Max: 100

Background.

Text color.

Dropdown border styles.

Border style. Show border on all sides, or only at the bottom

Allowed values:

  • all (All sides)
  • bottom (Bottom)

Border width.

Max: 20

Color.

Transparency.

Max: 1

Radius.

Max: 100

controls_geo_visible boolean

Map.

controls_position_by_1_visible boolean

Position 1.

controls_position_by_2_visible boolean

Position 2.

controls_size_by_visible boolean

Size.

controls_shade_by_visible boolean

Color.

controls_aggregation_visible boolean

Aggregation.

controls_filter_visible boolean

Filter.

controls_position_by_1_label string

Position 1.

controls_position_by_2_label string

Position 2.

controls_size_by_label string

Size.

controls_shade_by_label string

Color.

controls_aggregation_label string

Aggregation.

controls_filter_label string

Filter.

controls_dropdown_sort boolean

Sort dropdown menu items. Enables alphabetical sorting. If turned off, the dropdown will contain first any categorical columns (in the order selected in the column settings), and then any numeric columns.

controls_dropdown_separate_categorical_and_numeric boolean

Keep categorical and numeric items separate. If turned off, categorical and numeric columns will be sorted together alphabetically

hide_controls_toggle boolean

Disable controls toggle in published graphic. When checked, the cog icon for showing/hiding the controls panel is visible only in the visualisation and story editors – not in the published visualisation or story. When making a story you can still lock the panel to be visible or hidden by clicking the cog icon in the story editor.

controls_toggle_size number

Size.

controls_toggle_background color

Background.

controls_toggle_color color

Icon color.

Filter

filter_control_include_all boolean

Include 'All' in filter.

Number formatting

localization.input_decimal_separator string

Decimal separator in data sheet. Used for interpreting your data. Only change if data is not displaying on the chart as expected.

Allowed values:

  • . (.)
  • , (,)

localization.output_separators string

Number format to display. How the numbers should appear on chart labels

Allowed values:

  • ,. (12,235.67)
  • ., (12.345,67)
  • . (12235.67)
  • , (12345,67)
  • . (12 235.67)
  • , (12 345,67)

number_format.prefix string

Prefix. Text to place in front of number

number_format.suffix string

Suffix. Text to place after number

number_format.n_dec number

Decimal places. Use negative integers to round to positive powers of ten (eg -2 rounds to the nearest 100)

Min: -10

Max: 10

number_format.advanced boolean

Advanced.

number_format.negative_sign string

Styling of negative numbers.

Allowed values:

  • -$nk (-$100k)
  • $-nk ($-100k)
  • ($nk) (($100k))
  • $(n)k ($(100)k)
  • none ($100k)

number_format.strip_zeros boolean

Remove trailing zeros.

number_format.strip_separator boolean

Hide thousands separator below 10,000. Turn off if you want four-digit numbers to include a separator, e.g. “1,234” rather than “1234”.

number_format.transform_labels boolean

Multiply/divide values.

number_format.transform string

Allowed values:

  • multiply (Multiply by)
  • divide (Divide by)
  • exponentiate (×10 to the power of)

number_format.multiply_divide_constant number

number_format.exponentiate_constant number

Layout

Layout

layout.body_font font

Main font. This font will apply to the whole graphic by default, but you can optionally change the font for the title, subtitle, footer, etc in the Header and Footer settings panels.

layout.font_color color

Text color. This color will apply to the whole graphic by default, but you can optionally change the color for individual text elements, in other settings panels.

layout.background_color_enabled boolean

Color.

Allowed values:

  • true (On)
  • false (Off)

layout.background_image_enabled boolean

Image.

Allowed values:

  • true (On)
  • false (Off)

layout.background_color color

Background color.

layout.background_image_src url

Image URL.

layout.background_image_size string

Size.

Allowed values:

  • cover (Fill)
  • contain (Fit)
  • auto (Original)
  • 100% 100% (Stretch)

layout.background_image_position string

Position.

Allowed values:

  • top left (Top left)
  • top center (Top center)
  • top right (Top right)
  • center left (Center left)
  • center center (Center)
  • center right (Center right)
  • bottom left (Bottom left)
  • bottom center (Bottom center)
  • bottom right (Bottom right)

layout.max_width_target string

Maximum width. Apply a maximum width to just the main graphic or everything (main graphic plus header, footer, etc)

Allowed values:

  • none (None)
  • wrapper (Everything)
  • primary (Main graphic)

layout.max_width number

Maximum width. Leave blank to stretch to container width

Min: 50

layout.max_width_align string

Align.

Allowed values:

  • left (fa-align-left)
  • center (fa-align-center)
  • right (fa-align-right)

layout.layout_order string

Layout order.

Allowed values:

  • stack-default (data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAdCAYAAAHZdKxuAAAAAXNSR0IArs4c6QAAANhJREFUSA3tVNEOwiAM7Iy/p2/wkTz6g5gjOVZZEepcjMmWLBTau95ugIh6lpzzLcb4wNpFJaRk9MIahxAyXmD7mC7BC2RlFbliQjFMpJTujOdGs/ECwRoP3rlKoEzNJlz3+CwutK0NLRVt2QhjggA9n2IGEKANMxmt0VVsEfxgzfX7zL3ZiqbXLjcKc8vEORk5/75mMB/7u11uuIpdbtDCc5R3l/s+e+pmHt1foza7Nv6IXOeHiqGk9zWtSk1cN2cPrItnYjZzHZEZYtacxHTiuANSO/xN8AS4uW8Rw1Gu2AAAAABJRU5ErkJggg==)
  • stack-2 (data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAdCAYAAAHZdKxuAAAAAXNSR0IArs4c6QAAAMpJREFUSA3tVMsKwyAQNKW/l970Iz32Bw0jjKTrSLUY0oOBsO5rnOwYnTs9W0ppDyG8EcsOkw8uauu9T3jR2+75yJxBnnC4JxMxxlezg0V9VsJsIGz75TfKdlkpg3aPcT8TsPNRMJjZEIf5xaAAahUyE+RtfcZvtFLoFh95aFXxH4hCWpUoTCg7fxqUfB4yEcl/CJlNy5qbfuZA8m8CwJ77q2djSj50lnuAWbOAOQlXxCuRHxcUje2XzfgrYzBpHUXLkmxh181SpnEAB4Vg0DSGhHsAAAAASUVORK5CYII=)
  • stack-3 (data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAdCAYAAAHZdKxuAAAAAXNSR0IArs4c6QAAANFJREFUSA3tVEEOwyAMo9O+193gkRz3QSZHMmNRUkGp1guVqkCIHZMAITTfVkrZU0pv+B7NQpCV1vEdxxgLfmB9jEvwBBNzkjXn/HIRDOqzJs0GwS1eEmonAn52RITJaUYScd5KLl0fTQf58HVpIFlXMDPNBVMf2TDXPq7dZM2eelrMQ6uDucG50mlWzG/ooCWDvqENXldn1pcyhpgJWjYcPe5z5ZFrAgoe2LN0f2v1ZYq5UyofuiME99hFXKtUm1c9aoBmeEeRjVIQma6XpVblAwnpZjN/VjqsAAAAAElFTkSuQmCC)
  • stack-4 (data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAdCAYAAAHZdKxuAAAAAXNSR0IArs4c6QAAANtJREFUSA3tVNEOwjAI3Iy/p2/tR/bRH6zekmuA1glO45bYZAHKcdDCOk1izbXWC+0zlJzzDVJ5sNGW9qSUKj4QKY8yWvBDUWnoKKVcTzS2yWHiIfeMwm2yIbLbRL3DRJYubi+0bAPCkcvapO3AdFgZvuDuyJZR2i4wSpBBP9ZD7RsOLQ9gD/Y5ZmaA3EEHWY6r3SEwrzDEHLpnlvOXa4/7xttZfhNwyPdKcqLPaz6JlXpr9bNgCfbobw2ch5iY0CQzyCOPR9ya5zleBPNy3LxknAbiv1YxExxH3gEqBW7I4zw3PQAAAABJRU5ErkJggg==)

layout.space_between_sections string

Space between sections.

Allowed values:

  • 0.5 (▁)
  • 1 (▃)
  • 1.5 (▄)
  • custom (...)

layout.space_between_sections_custom number

Custom.

Max: 100

layout.margin_top number

Top.

layout.margin_right number

Right.

layout.margin_bottom number

Bottom.

layout.margin_left number

Left.

layout.border.enabled boolean

Show borders around visualisation.

layout.border.top.width number

Top.

layout.border.top.style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.border.top.color color

Color.

layout.border.right.width number

Right.

layout.border.right.style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.border.right.color color

Color.

layout.border.bottom.width number

Bottom.

layout.border.bottom.style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.border.bottom.color color

Color.

layout.border.left.width number

Left.

layout.border.left.style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.border.left.color color

Color.

layout.header_align string

Alignment.

Allowed values:

  • left (fa-align-left)
  • center (fa-align-center)
  • right (fa-align-right)

layout.title string

layout.title_styling boolean

Change title styles.

layout.title_font font

Title Font.

layout.title_size string

Size.

Allowed values:

  • 1.4 (ᴀ)
  • 1.6 (A)
  • 2 (fa-font)
  • custom (...)

layout.title_size_custom number

Custom. Specify a custom responsive font size. Best results will be with values between 1.2 and 3

layout.title_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

layout.title_color color

Color.

layout.title_line_height number

Line height.

Max: 3

layout.title_space_above string

Space above.

Allowed values:

  • 0 (▁)
  • 0.5 (▃)
  • 1 (▄)
  • custom (...)

layout.title_space_above_custom number

Custom.

Max: 100

layout.subtitle string

layout.subtitle_styling boolean

Change subtitle styles.

layout.subtitle_font font

Subtitle Font.

layout.subtitle_size string

Size.

Allowed values:

  • 1.4 (ᴀ)
  • 1.6 (A)
  • 2 (fa-font)
  • custom (...)

layout.subtitle_size_custom number

Custom. Specify a custom responsive font size. Best results will be with values between 1.2 and 3

layout.subtitle_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

layout.subtitle_color color

Color.

layout.subtitle_line_height number

Line height.

Max: 3

layout.subtitle_space_above string

Space above.

Allowed values:

  • 0 (▁)
  • 0.5 (▃)
  • 1 (▄)
  • custom (...)

layout.subtitle_space_above_custom number

Custom.

Max: 100

layout.header_text string

layout.header_text_styling boolean

Styling.

layout.header_text_size string

Size.

Allowed values:

  • 1.2 (ᴀ)
  • 1.4 (A)
  • 1.6 (fa-font)
  • custom (...)

layout.header_text_size_custom number

Custom. Specify a custom responsive font size. Best results will be with values between 1.2 and 3

layout.header_text_weight string

Weight.

Allowed values:

  • bold (Bold)
  • normal (Regular)

layout.header_text_color color

Color.

layout.header_text_line_height number

Line height.

Max: 3

layout.header_text_space_above string

Space above.

Allowed values:

  • 0 (▁)
  • 0.5 (▃)
  • 1 (▄)
  • custom (...)

layout.header_text_space_above_custom number

Custom.

Max: 100

layout.header_border string

Allowed values:

  • top (Top)
  • bottom (Bottom)
  • none (None)

layout.header_border_width number

Width.

layout.header_border_color color

Color.

layout.header_border_style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.header_border_space number

Space. Space between border and header text

layout.header_logo_enabled boolean

Allowed values:

  • true (Enabled)
  • false (Disabled)

layout.header_logo_src url

URL.

layout.header_logo_height number

Height.

layout.header_logo_align string

Align. Align logo inside header or outer visualisation container

Allowed values:

  • outside (Outside)
  • inside (Inside)

layout.header_logo_position_inside string

Position.

Allowed values:

  • top (Top)
  • left (Left)
  • right (Right)

layout.header_logo_position_outside string

Position.

Allowed values:

  • left (Left)
  • right (Right)

layout.header_logo_margin_top number

Top.

layout.header_logo_margin_right number

Right.

layout.header_logo_margin_bottom number

Bottom.

layout.header_logo_margin_left number

Left.

layout.footer_align string

Alignment.

Allowed values:

  • left (fa-align-left)
  • center (fa-align-center)
  • right (fa-align-right)
  • justify (fa-align-justify)

layout.footer_text_size number

Size.

layout.footer_text_color color

Color.

layout.footer_styling boolean

Advanced footer styles.

layout.footer_font font

Font.

layout.source_name string

Source name.

layout.source_url string

Source url.

layout.multiple_sources boolean

Multiple sources.

layout.source_name_2 string

Source name.

layout.source_url_2 string

Source url.

layout.source_name_3 string

Source name.

layout.source_url_3 string

Source url.

layout.source_label string

Source label.

layout.footer_note string

Note.

layout.footer_note_secondary string

Note (secondary). The secondary note is placed below the source and primary note

layout.footer_logo_enabled boolean

Image.

Allowed values:

  • true (Enabled)
  • false (Disabled)

layout.footer_logo_src url

Image.

layout.footer_logo_src_light hidden

Image (light version). If provided this version will be used whenever the background colour is dark

Link.

layout.footer_logo_height number

Height.

layout.footer_logo_margin number

Margin.

layout.footer_logo_order string

Position.

Allowed values:

  • left (Left)
  • right (Right)

layout.footer_align_vertical string

V. align.

Allowed values:

  • flex-start (Top)
  • center (Center)
  • flex-end (Bottom)

layout.footer_border string

Allowed values:

  • top (Top)
  • bottom (Bottom)
  • none (None)

layout.footer_border_width number

Width.

layout.footer_border_color color

Color.

layout.footer_border_style string

Style.

Allowed values:

  • solid (Solid)
  • dashed (Dashed)
  • dotted (Dotted)

layout.footer_border_space number

Space. Space between border and footer text

non_header_font.name string

Non header font name.

non_header_font.url string

Non header font url.