Line, bar and pie charts
Updated 3 years ago to v22.2.5 by Flourish team
How to use this template
How to get started
Upload data with one column containing “labels” (category names, years, etc) and one or more numerical columns of “values” (each of which becomes a line on a line chart, a series of bars on a bar chart, etc). Here's what your data might look like.
Year | London | Paris | Berlin |
2010 | 1 | 4 | 3 |
2020 | 0 | 3 | 6 |
Making a grid of charts
You can use the “Grid of charts” option to display each series in your data on its own mini chart – a visualisation technique called “small multiples”. Data can also be divided into mini charts by specifying a “Charts grid” column. In this case, there will be one chart for each unique value in the selected column. This is useful if your data is arranged in this way, or if you want to create a grid with multiple series on each chart.
FAQ
How do I change the color of some of the bars, but not all of them? First, make sure you’re using a “bar” or "column" chart. Then, under "Chart styles", choose "Shade by row". Finally, specify the colors you want for each row under "Custom colors". (If you'd like to have all the bars the same color except for one or two, a shortcut is first to customise the palette so that there's only one color.)
Tips
- You can use custom colors by typing them as a comma-separated list in to the “Color scheme or custom colors” menu. You can use any named CSS color or hexcode.
- With a grid of line or bar charts, you can choose whether to have the same y axis for all the charts (good for comparing absolute numbers) or to have each chart set its own y-axis based on the data it contains (best for comparing the shape of each series).
- If you make different views of your data and save them as separate visualisations, you can animate between the charts in the Flourish story editor.
API information
This section documents API usage specific to this template, so for an introduction we suggest you refer to the generic API documentation instead.
template: @flourish/line-bar-pie
version: 22
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", ... ] } }
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: "@flourish/line-bar-pie", version: "22", bindings: { data: { label: 0, // index of a column in your data } }, data: { data: [ [ "DataColumn1Value1", "DataColumn2Value1", [ "DataColumn1Value2", "DataColumn2Value2", [ "DataColumn1Value3", "DataColumn2Value3", ... ] } }
All possible bindings that you can supply are shown in this example:
{ template: "@flourish/line-bar-pie", version: "22", bindings: { data: { label: 0, // index of a column in your data value: [1, 2, ...], // index(es) of column(s) in your data facet: 3, // index of a column in your data filter: 4, // index of a column in your data metadata: [5, 6, ...], // index(es) of column(s) in your data } }, data: { data: [ [ "DataColumn1Value1", "DataColumn2Value1", [ "DataColumn1Value2", "DataColumn2Value2", [ "DataColumn1Value3", "DataColumn2Value3", ... ] } }
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": ..., ... }, ... ] }
... 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: "@flourish/line-bar-pie", version: "22", bindings: { data: { label: "DataHeader1", } }, data: { data: [ { "DataHeader1": ..., "DataHeader2": ..., ... }, { "DataHeader1": ..., "DataHeader2": ..., ... }, { "DataHeader1": ..., "DataHeader2": ..., ... }, ... ] } }
All possible bindings that you can supply are shown in this example:
{ template: "@flourish/line-bar-pie", version: "22", bindings: { data: { label: "DataHeader1", value: ["DataHeader2", "DataHeader3", ...], facet: "DataHeader4", filter: "DataHeader5", metadata: ["DataHeader6", "DataHeader7", ...], } }, data: { data: [ { "DataHeader1": ..., "DataHeader2": ..., ... }, { "DataHeader1": ..., "DataHeader2": ..., ... }, { "DataHeader1": ..., "DataHeader2": ..., ... }, ... ] } }
(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: "@flourish/line-bar-pie", version: "22", data: { data: [ { label: ..., value: [...], metadata: [...] }, ... ] }, ... }
And the full list of all possible properties is as follows:
{ template: "@flourish/line-bar-pie", version: "22", data: { data: [ { label: ..., value: [...], facet: ..., filter: ..., metadata: [...] }, ... ] }, ... }
Meanings of the template data keys:
- data.label: A column of names or times
- data.value: One or more columns of numbers
- data.facet: If specified and “Grid of charts” view is on, creates a separate mini chart for each value found in the column.
- data.filter: Use this column to create a user-facing row control; to create a column filter use the “Series filter” option in the settings panel instead.
- data.metadata: One or more columns of information to include in custom popups
Template settings
Options for opts.state
.
Chart type
chart_type string
Allowed values:
- line (Line chart)
- area_stacked (Area chart (stacked))
- area_prop (Area chart (stacked %))
- area (Area chart (unstacked))
- area_stacked_stream (Area chart (streamgraph))
- column_grouped (Column chart (grouped))
- column_stacked (Column chart (stacked))
- column_stacked_prop (Column chart (stacked %))
- column_waterfall (Column chart (waterfall))
- bar_grouped (Bar chart (grouped))
- bar_stacked (Bar chart (stacked))
- bar_stacked_prop (Bar chart (stacked %))
- bar_waterfall (Bar chart (waterfall))
- donut (Pie/donut chart)
- column_grouped_line (Combo: Lines & columns (grouped))
- column_stacked_line (Combo: Lines & columns (stacked))
- column_stacked_prop_line (Combo: Lines & columns (stacked %))
- area_stacked_line (Combo: Lines & areas (stacked))
- line_line (Combo: Lines & lines)
dual_axis boolean
Axis type. Allowed values:
secondary_series number
Number of combo lines. Sets how many of your specified value columns are treated as lines (or lines on the right axis in line-line mode). Counts from the start, so if you want, say, column B as a line and A as a column, set the order in the column settings to "B,A".
facet_layout string
Grid mode. “Grid of charts” creates a mini chart for each series (or each value in your ”Charts grid” column, if specified) Allowed values:
height_mode string
Height mode. How the graphic's height is determined; ignored when embedded in a fixed-height context such as a simple iframe embed. "Auto" sets the height based on the chart type, data and width. "Standard" uses the default Flourish responsive sizing. "Aspect ratio" sets the aspect of each plot. Allowed values:
facet_aspect number
Aspect (desktop). Aspect ratio of each plot in desktop mode, where 1 is square, above 1 is wider, and below 1 is taller. Min: 0.01
facet_aspect_mobile number
Aspect (mobile). Aspect of each plot in mobile mode, where 1 is square, above 1 is wider, and below 1 is taller. Min: 0.01
facet_aspect_breakpoint number
Breakpoint. The width at which mobile mode ends and desktop begins
sort_mode string
Sort mode. Allowed values:
Grid of charts
facets.columns_fixed boolean
Number of columns. In Auto mode, the number of columns will change with screen size Allowed values:
facets.min_width number
Min chart width. Determines how many columns of charts there should be in the grid. Ignored if you specify a fixed number of columns.
facets.max_width number
Max chart width. Determines how many columns of charts there should be in the grid. Ignored if you specify a fixed number of columns.
facets.columns number
Fixed number of columns. Min: 1
facets.gutter_w number
Horizontal margin.
facets.gutter_h number
Vertical margin.
facets.animation string
On data change. If a chart in the grid is removed, that cell can either be animated out (with another cell moving to take its place) or reused for the new data in that cell. Auto decides for you based on the data. Allowed values:
facets.titles boolean
Show titles.
facets.title_align string
Alignment. Allowed values:
facets.title_size number
Size. Relative to the width of the chart
facets.title_unit string
Scale with chart. Allowed values:
facets.title_color color
Color.
facets.title_padding_top number
Space above.
facets.title_padding_bottom number
Space below.
facets.title_bg string
Background. Allowed values:
facets.title_bg_color color
Color.
facets.title_bg_padding number
Padding. Horizontal space between text and background
x_axis_matching boolean
Same across grid. Ensure the x scale is the same across the grid
x_axis_last_row_only boolean
Last row only. Only show the x axis on the last row, where possible. Ignored if the x axis is not positioned at the bottom.
y_axis_matching boolean
Same across grid. Ensure the y scale is the same across the grid
y_axis_first_col_only boolean
First column only. Only show the y axis on the first column of the grid, where possible
y2_axis_matching boolean
Same across grid. Ensure the secondary y scale is the same across the grid
y2_axis_last_col_only boolean
Last column only. Only show the secondary y axis on the last column of the grid, where possible
Controls & filters
series_filter_mode string
Series filter. Filter control for series/columns. Use the animation settings panel to determine whether series animate when changing the filter. Except in single select mode, the user can also filter by clicking on the legend, unless that setting has been disabled. Allowed values:
series_control_multi_text string
Placeholder text.
series_control_multi_none_text string
No more results text.
series_control_select_text string
Select text.
max_series number
Max series to show. Limits the number of series/columns that will be visualized at once
series_control_background color
Background.
series_control_text color
Text.
series_control_border color
Border.
series_control_pill_background color
Pill Background.
series_control_pill_text color
Pill Text.
series_control_pill_radius number
Pill Radius. Max: 100
series_control_single_all boolean
Include "All".
series_control_single_all_text string
Name for "All".
series_control_single.control_type string
Control type. Choose between a dropdown, buttons or a time slider. Allowed values:
series_control_single.control_styles boolean
Adv..
series_control_single.control_title string
Control title.
series_control_single.button_group boolean
Grouped. Allowed values:
series_control_single.button_group_width_mode string
Button group width. Allowed values:
series_control_single.button_group_width_fixed number
Width. Max: 100
series_control_single.dropdown_width_mode string
Dropdown width. Allowed values:
series_control_single.dropdown_width_fixed number
Width. Max: 100
series_control_single.slider_background_color color
Background.
series_control_single.slider_font_color color
Text.
series_control_single.slider_handle_color color
Handle.
series_control_single.slider_width number
Width. Max: 100
series_control_single.slider_margin number
Label width. Max: 50
series_control_single.slider_handle_height number
Height. Max: 10
series_control_single.slider_track_height number
Track height. Max: 10
series_control_single.slider_play_button boolean
Play button.
series_control_single.slider_loop boolean
Loop.
series_control_single.slider_step_time number
Time between steps. Measured in seconds, positive values move the slider left to right, negative values move the slider right to left. Min: -100 Max: 100
series_control_single.slider_restart_pause number
Pause before loop. Measured in seconds and in addition to the regular step time displayed above. Max: 100
series_control_single.sort string
Sorting. Allowed values:
series_control_single.sort_temporal_format string
Date/time format in data. The date/time format in your data sheet. Used only to sort the data, if required. If your format isn’t in the list, you can enter a custom format using d3-time-format syntax. See npmjs.com/package/d3-time-format for details. Predefined values:
row_filter_control_all boolean
Include "All".
row_filter_control_all_text string
Name for "All".
row_filter_control.control_type string
Control type. Choose between a dropdown, buttons or a time slider. Allowed values:
row_filter_control.control_styles boolean
Adv..
row_filter_control.control_title string
Control title.
row_filter_control.button_group boolean
Grouped. Allowed values:
row_filter_control.button_group_width_mode string
Button group width. Allowed values:
row_filter_control.button_group_width_fixed number
Width. Max: 100
row_filter_control.dropdown_width_mode string
Dropdown width. Allowed values:
row_filter_control.dropdown_width_fixed number
Width. Max: 100
row_filter_control.slider_background_color color
Background.
row_filter_control.slider_font_color color
Text.
row_filter_control.slider_handle_color color
Handle.
row_filter_control.slider_width number
Width. Max: 100
row_filter_control.slider_margin number
Label width. Max: 50
row_filter_control.slider_handle_height number
Height. Max: 10
row_filter_control.slider_track_height number
Track height. Max: 10
row_filter_control.slider_play_button boolean
Play button.
row_filter_control.slider_loop boolean
Loop.
row_filter_control.slider_step_time number
Time between steps. Measured in seconds, positive values move the slider left to right, negative values move the slider right to left. Min: -100 Max: 100
row_filter_control.slider_restart_pause number
Pause before loop. Measured in seconds and in addition to the regular step time displayed above. Max: 100
row_filter_control.sort string
Sorting. Allowed values:
row_filter_control.sort_temporal_format string
Date/time format in data. The date/time format in your data sheet. Used only to sort the data, if required. If your format isn’t in the list, you can enter a custom format using d3-time-format syntax. See npmjs.com/package/d3-time-format for details. Predefined values:
log_control_y_visible boolean
Show log control for Y axis.
log_control_y.control_type string
Control type. Choose between a dropdown, buttons or a time slider. Allowed values:
log_control_y.control_styles boolean
Adv..
log_control_y.control_title string
Control title.
log_control_y.button_group boolean
Grouped. Allowed values:
log_control_y.button_group_width_mode string
Button group width. Allowed values:
log_control_y.button_group_width_fixed number
Width. Max: 100
log_control_y.dropdown_width_mode string
Dropdown width. Allowed values:
log_control_y.dropdown_width_fixed number
Width. Max: 100
log_control_y.slider_background_color color
Background.
log_control_y.slider_font_color color
Text.
log_control_y.slider_handle_color color
Handle.
log_control_y.slider_width number
Width. Max: 100
log_control_y.slider_margin number
Label width. Max: 50
log_control_y.slider_handle_height number
Height. Max: 10
log_control_y.slider_track_height number
Track height. Max: 10
log_control_y.slider_play_button boolean
Play button.
log_control_y.slider_loop boolean
Loop.
log_control_y.slider_step_time number
Time between steps. Measured in seconds, positive values move the slider left to right, negative values move the slider right to left. Min: -100 Max: 100
log_control_y.slider_restart_pause number
Pause before loop. Measured in seconds and in addition to the regular step time displayed above. Max: 100
log_control_y.sort string
Sorting. Allowed values:
log_control_y.sort_temporal_format string
Date/time format in data. The date/time format in your data sheet. Used only to sort the data, if required. If your format isn’t in the list, you can enter a custom format using d3-time-format syntax. See npmjs.com/package/d3-time-format for details. Predefined values:
log_control_y_text_linear string
Linear text.
log_control_y_text_log string
Log text.
controls_style.font_size number
Text size. Max: 5
controls_style.font_weight string
Text weight. Allowed values:
controls_style.padding number
Height. Space below and above controls text Max: 5
dropdown_style.background color
Background.
dropdown_style.font_color color
Text color.
dropdown_style.border_styles_advanced boolean
Dropdown border styles.
dropdown_style.border_style string
Border style. Show border on all sides, or only at the bottom Allowed values:
dropdown_style.border_width number
Border width. Max: 20
dropdown_style.border_color color
Color.
dropdown_style.border_transparency number
Transparency. Max: 1
dropdown_style.border_radius number
Radius. Max: 100
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
controls_position string
Control position. Allowed values:
Colors
color_mode string
Color mode. Allowed values:
color.scale_type string
Scale type. Allowed values:
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_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:
Party 1: red
Party 2: #4455AA
Party 3: rgb(30,168,26)
color.numeric_type string
Scale type. Allowed values:
color.binning boolean
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:
color.bin_mode string
Binning mode. Allowed values:
color.bin_count number
Number of bins.
color.bin_thresholds string
Custom thresholds. Write your custom thresholds, separated by a ";" For example 5;10;15
color.sequential_palette string
Palette. Allowed values:
color.sequential_reverse boolean
Reverse.
color.sequential_custom_min color
Minimum color.
color.sequential_custom_max color
Maximum color.
color.sequential_color_space string
Color space. Allowed values:
color.sequential_custom_domain boolean
Domain. Allowed values:
color.sequential_domain_min number
Min.
color.sequential_domain_max number
Max.
color.diverging_palette string
Palette. Allowed values:
color.diverging_reverse boolean
Reverse.
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
Color space. Allowed values:
color.diverging_custom_domain boolean
Domain. Allowed values:
color.diverging_domain_min number
Min.
color.diverging_domain_mid number
Mid.
color.diverging_domain_max number
Max.
Lines, dots and areas
line_width number
Width. In rems, a multiple of the page's base font size
line_opacity number
Opacity. Max: 1
line_curve string
Line curve. Allowed values:
line_dash_items text
Dashed lines. Specify the series that you would like to display with a dashed line. Multiple dashed lines can be set using multiple lines. For example:
Party 1
Party 2
Party 3
line_dash_width number
Dash width.
line_dash_space_width number
Space width.
line_interpolate boolean
Missing data points. Allowed values:
shade_between_lines boolean
Shade areas between lines.
shade_between_lines_config text
Which lines to shade between. Specify each area as a pair of line name separated by :: . For example:
Series A :: Series B
Series C :: Series D
You can optionally add a specific color and opacity for each area, e.g.
Series A :: Series B :: red :: 0.1
shade_between_lines_color color
Color.
shade_between_lines_opacity number
Opacity. Max: 1
area_opacity number
Opacity. Max: 1
dot_mode string
“Auto” will automatically show dots on lines if fewer than 250 data points; avoid showing dots for large datasets since it can lead to poor performance issues and poor-looking charts Allowed values:
dot_opacity number
Opacity. Max: 1
dot_radius number
Radius. In rems, a multiple of the page's base font size Max: 3
dot_radius_last number
Final dot scale (%). Making the last point on a line larger can help emphasise the final value.
dot_hollow boolean
Hollow.
Bars
bar_height number
Bar height. Approximate height of bar. Exact height depends on padding and label style. Ignored if chart is embedded at a fixed height. Specifed in rems, a multiple of the base font size. Min: 0.5
uniform_column_width boolean
Uniform column width.
uniform_bar_height boolean
Uniform bar height.
column_padding_inner number
Spacing (main). Space between bar stacks or groups, as a % of the width of a whole bar stack or group Max: 100
column_padding_in_group number
Spacing (in group). Space between bars in groups, as a % of the width of a single bar in the group. Ignored if only a single series is selected. Max: 100
column_padding_stack number
Spacing (in stack). Space each bar in the stack, in tenths of a rem (base font size) Max: 1
column_opacity number
Bar opacity. Min: 0.1 Max: 1
Segments
donut_inner_radius number
Doughnut hole (%). Max: 99
donut_corner_radius number
Corner curve (pixels).
donut_pad_angle number
Segment padding (degrees). Max: 10
donut_auto_scale boolean
Scale pies based on data. Scale each pie chart in the grid so that the area of each segment reflect its value
Labels
bar_labels_above boolean
Label style. Allowed values:
bar_labels_color color
Color.
bar_labels_font_size number
Size. The font size of the labels will be limited to the space available when not in "Auto" height mode
bar_labels_weight string
Allowed values:
- 600 (Bold)
- 400 (Normal)
line_end_labels boolean
Show labels on lines.
line_labels.max_width number
Max label width. The maximum allowed label width
line_labels.text_padding_horizontal number
Distance. The horizontal space between the data point and the label
line_labels.position string
Spread out overlaps. Whether to spread out labels to minimise overlapping Allowed values:
line_labels.text_padding_vertical number
Vertical padding. The vertical space left between labels when spreading them out to avoid overlaps
line_labels.hide_overlaps boolean
Hide overlaps. Whether to hide any labels that are overlapping in their final position
line_labels.text_color color
Color. If cleared, uses the main text color from the Layout settings panel
line_labels.text_size number
Size. Max: 100
line_labels.text_bg_color color
Outline. If cleared, uses the main background color from the Layout settings panel
line_labels.text_bg_size number
Outline width. As a % of the font size Max: 100
line_labels.text_line_height number
Line height.
line_labels.text_max_lines number
Max lines. The max number of lines for each label
line_labels.text_weight string
Weight. The vertical space left between labels when positioning them Predefined values:
line_labels.lines string
Connector lines. Allowed values:
line_labels.line_style string
Line style. Allowed values:
line_labels.line_color color
Color. If cleared, uses the main text color from the Layout settings panel
line_labels.line_width number
Width. In rems (a multiple of base font size) Max: 0.5
line_labels.line_range number
Length. The width of the space given over to lines; in rems, a multiple of base font size
line_labels.line_padding number
Padding. The padding to the left and right of the line; in rems, a multiple of base font size
labels boolean
Show labels on data points.
labels_hide_overlaps boolean
Hide overlapping labels.
labels_dot_center boolean
Position labels on center of dot.
labels_column_align string
Bar label alignment. The final option "above" option puts the labels above the bars in standard column charts but falls back to top alignment in stacked charts, where the space above the stack is reserved for stack total labels Allowed values:
labels_column_padding number
Padding. Space above or below, as a proportion of the font size.
labels_bar_align string
Label alignment. In stacked bar charts the final "outside bar" option falls back to right alignment, since the space after the stack is reserved for stack total labels (see below) Allowed values:
labels_bar_autohide boolean
Hide if too big. Turn off to force labels to show, even if they will overflow the bars. Ignored when labels are not inside the bars.
labels_color_mode string
Text color. Contrast mode is black or white depending on the color of the data point (or the color of the background in the case of column chart label positioned over the background) Allowed values:
labels_fixed_color color
Color.
labels_font_weight string
Weight. Allowed values:
labels_font_size_mode string
Size. Allowed values:
labels_font_size number
Size.
labels_bg_mode string
Outline. A text outline/background can make the text more readable by increasing contrast. Allowed values:
labels_bg_size number
Size. Size of the background, as % of text size Max: 100
labels_content string
Label content. Allowed values:
stack_labels boolean
Show labels for stack totals. You may need to update your axis mins/maxes to create space for these labels
stack_labels_color color
Color.
stack_labels_font_size number
Size.
stack_labels_weight string
Weight. Allowed values:
X axis
x.axis_position string
Position. Allowed values:
x.y_axis_position string
Y value. Vertical position of the x axis on the y scale
x.numeric_scale_type string
Type. Allowed values:
x.linear_min number
Min.
x.linear_max number
Max.
x.log_min number
Min.
x.log_max number
Max.
x.datetime_min string
Min (date).
x.datetime_max string
Max (date).
x.flip boolean
Flip axis.
x.show_scale_settings boolean
Configure default min/max.
x.nice boolean
Round min/max. When enabled, scales automatically extend to "nice" rounded start/end values, such as hundreds or whole years. Overridden by any explicitly specified scale min and max. Allowed values:
x.zero_axis string
Include zero. Whether to extend the axis to include zero if the data values are all positive or all negative. Overridden by any explicitly specified scale min and max. Allowed values:
x.title_mode string
Type. Allowed values:
x.title string
Text.
x.title_styling boolean
Styling.
x.title_weight string
Weight. Allowed values:
x.title_color color
Color.
x.title_size number
Size.
x.title_padding number
Padding.
x.tick_label_position string
Position. Allowed values:
x.tick_label_styling boolean
Styling.
x.tick_label_size number
Size.
x.tick_label_color color
Color.
x.tick_padding number
Padding.
x.tick_label_angle string
Angle. Allowed values:
x.tick_label_weight string
Weight. Allowed values:
x.tick_label_max_lines number
Max lines. Min: 1
x.tick_label_line_height number
Line height.
x.tick_label_space_mode string
Space mode. Allowed values:
x.tick_label_space number
Space.
x.tick_mode string
Mode. Allowed values:
x.tick_number number
Number. Approximate number of ticks or gridlines. The actual number will depend on the range of values, chart size, etc.
x.tick_custom text
One tick label per line. Specify the ticks to show, one per line
x.line_and_tick_color color
Line color.
x.line_and_tick_width number
Line width.
x.tick_length number
Tick length.
x.tick_side string
Tick side. Allowed values:
x.line_visible boolean
Axis line.
x.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
x.gridlines_visible boolean
Allowed values:
- true (On)
- false (Off)
x.gridlines_styling boolean
Styling.
x.gridline_color color
Color.
x.gridline_style string
Style. Allowed values:
x.gridline_width number
Width.
x.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.
x.gridline_category_dividers_extend boolean
Extend. Extends the dividers into the axis margins.
Y axis
y.axis_visible boolean
Allowed values:
- true (Axis visible)
- false (Axis hidden)
y.numeric_scale_type string
Type. Allowed values:
y.linear_min number
Min.
y.linear_max number
Max.
y.log_min number
Min.
y.log_max number
Max.
y.datetime_min string
Min (date).
y.datetime_max string
Max (date).
y.flip boolean
Flip axis.
y.show_scale_settings boolean
Configure default min/max.
y.nice boolean
Round min/max. When enabled, scales automatically extend to "nice" rounded start/end values, such as hundreds or whole years. Ignored for cagorical scales, and overridden by any specified min/max. Allowed values:
y.zero_axis string
Include zero. Whether to extend the axis to include zero if the data values are all positive or all negative. Ignored for date and categorical scales, and overridden by any specified min/max. Allowed values:
y.title_mode string
Type. Allowed values:
y.title string
Text.
y.title_styling boolean
Styling.
y.title_position string
Position. Allowed values:
y.title_weight string
Weight. Allowed values:
y.title_color color
Color.
y.title_size number
Size.
y.title_padding number
Padding.
y.tick_label_position string
Position. Allowed values:
y.tick_label_styling boolean
Styling.
y.tick_label_size number
Size.
y.tick_label_color color
Color.
y.tick_padding number
Padding.
y.tick_label_angle string
Angle. Allowed values:
y.tick_label_weight string
Weight. Allowed values:
y.tick_label_max_lines number
Max lines. Min: 1
y.tick_label_line_height number
Line height.
y.tick_label_space_mode string
Space mode. Allowed values:
y.tick_label_space number
Space.
y.tick_mode string
Mode. Allowed values:
y.tick_number number
Number. Approximate number of ticks or gridlines. The actual number will depend on the range of values, chart size, etc.
y.tick_custom text
One tick label per line. Specify the ticks to show, one per line
y.line_and_tick_color color
Line color.
y.line_and_tick_width number
Line width.
y.tick_length number
Tick length.
y.tick_side string
Side. Allowed values:
y.line_visible boolean
Axis line.
y.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
y.gridlines_visible boolean
Allowed values:
- true (On)
- false (Off)
y.gridlines_styling boolean
Styling.
y.gridline_color color
Color.
y.gridline_style string
Style. Allowed values:
y.gridline_width number
Width.
y.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.
y.gridline_category_dividers_extend boolean
Extend. Extends the dividers into the axis margins
Y axis (right)
y2.axis_visible boolean
Allowed values:
- true (Axis visible)
- false (Axis hidden)
y2.numeric_scale_type string
Type. Allowed values:
y2.linear_min number
Min.
y2.linear_max number
Max.
y2.log_min number
Min.
y2.log_max number
Max.
y2.datetime_min string
Min (date).
y2.datetime_max string
Max (date).
y2.flip boolean
Flip axis.
y2.show_scale_settings boolean
Configure default min/max.
y2.nice boolean
Round min/max. When enabled, scales automatically extend to "nice" rounded start/end values, such as hundreds or whole years. Ignored for cagorical scales, and overridden by any specified min/max. Allowed values:
y2.zero_axis string
Include zero. Whether to extend the axis to include zero if the data values are all positive or all negative. Ignored for date and categorical scales, and overridden by any specified min/max. Allowed values:
y2.title_mode string
Type. Allowed values:
y2.title string
Text.
y2.title_styling boolean
Styling.
y2.title_position string
Position. Allowed values:
y2.title_weight string
Weight. Allowed values:
y2.title_color color
Color.
y2.title_size number
Size.
y2.title_padding number
Padding.
y2.tick_label_position string
Position. Allowed values:
y2.tick_label_styling boolean
Styling.
y2.tick_label_size number
Size.
y2.tick_label_color color
Color.
y2.tick_padding number
Padding.
y2.tick_label_angle string
Angle. Allowed values:
y2.tick_label_weight string
Weight. Allowed values:
y2.tick_label_max_lines number
Max lines. Min: 1
y2.tick_label_line_height number
Line height.
y2.tick_label_space_mode string
Space mode. Allowed values:
y2.tick_label_space number
Space.
y2.tick_mode string
Mode. Allowed values:
y2.tick_number number
Number. Approximate number of ticks or gridlines. The actual number will depend on the range of values, chart size, etc.
y2.tick_custom text
One tick label per line. Specify the ticks to show, one per line
y2.line_and_tick_color color
Line color.
y2.line_and_tick_width number
Line width.
y2.tick_length number
Tick length.
y2.tick_side string
Side. Allowed values:
y2.line_visible boolean
Axis line.
y2.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
y2.gridlines_visible boolean
Allowed values:
- true (On)
- false (Off)
y2.gridlines_styling boolean
Styling.
y2.gridline_color color
Color.
y2.gridline_style string
Style. Allowed values:
y2.gridline_width number
Width.
y2.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.
y2.gridline_category_dividers_extend boolean
Extend. Extends the dividers into the axis margins
Plot background
chart_bg.background_color_enabled boolean
Color. Allowed values:
chart_bg.background_image_enabled boolean
Image. Allowed values:
chart_bg.background_color color
Color.
chart_bg.background_image_src url
Image URL.
chart_bg.background_image_size string
Size. Allowed values:
chart_bg.background_image_position string
Position. Allowed values:
Number and date formatting
label_data_type string
Data type. Allowed values:
datetime_input_format string
Format in data sheet. The date/time format in the data sheet. Leave as “Auto” for Flourish to make a best guess. If it isn’t in the list, you can enter a custom format using d3-time-format syntax. See npmjs.com/package/d3-time-format for details. Predefined values:
x_axis_date_format string
Display format. The date/time format to show in the graphic. If it isn’t in the list, you can enter a custom format using d3-time-format syntax. See npmjs.com/package/d3-time-format for details. Predefined values:
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:
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:
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
number_format_prop boolean
Show % values. Sets whether the raw numbers from the data sheet or the computed percent values from the chart show in labels and popups
number_format_secondary.prefix string
Prefix. Text to place in front of number
number_format_secondary.suffix string
Suffix. Text to place after number
number_format_secondary.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_secondary.advanced boolean
Advanced.
number_format_secondary.negative_sign string
Styling of negative numbers. Allowed values:
number_format_secondary.strip_zeros boolean
Remove trailing zeros.
number_format_secondary.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_secondary.transform_labels boolean
Multiply/divide values.
number_format_secondary.transform string
Allowed values:
- multiply (Multiply by)
- divide (Divide by)
- exponentiate (×10 to the power of)
number_format_secondary.multiply_divide_constant number
number_format_secondary.exponentiate_constant number
Legend
legend_mode string
Legend mode. “Auto” mode hides the legend in certain situations, such as when each color is already explained by the chart titles in a grid of charts Allowed values:
legend_filter_mode string
Click legend to filter data. Ignored in certain situations, such as when shading by series and using a series control Allowed values:
legend_container.alignment string
Alignment. Allowed values:
legend_container.orientation string
Orientation. Allowed values:
legend_container.title_weight string
Title weight. Allowed values:
legend_container.text_weight string
Text weight. Allowed values:
legend_container.text_color color
Color.
legend_container.text_size number
Size. Max: 10
legend_categorical.show_legend boolean
Allowed values:
- true (Enabled)
- false (Disabled)
legend_categorical.title_mode string
Title mode. Allowed values:
legend_categorical.title string
Title.
legend_categorical.swatch_width number
Width.
legend_categorical.swatch_height number
Height.
legend_categorical.swatch_radius number
Roundness. The radius of the corners of the swatch (in pixels)
legend_categorical.legend_items_padding number
Padding. Padding between legend items (in rems)
legend_categorical.order_override text
Custom order override. Manually specify the order of legend entries (one entry per line)
legend_categorical.icon_height number
Height. Height of icon (relative to the base font size)
legend_categorical.icon_color color
Color. Fallback color (icon color if not determined by template)
legend_categorical.max_width number
Max width.
legend_categorical.orientation string
Orientation. Allowed values:
legend_position string
Legend position. Allowed values:
text_legend string
Allowed values:
- auto (Auto)
- custom (Custom)
- off (Off)
text_legend_title boolean
Title.
text_legend_subtitle boolean
Subtitle.
text_legend_bold boolean
Bold. If checked, always use bold for colored items
Popups
popup.show_popups boolean
Popups. Allowed values:
popup.is_custom boolean
Popup contents. Allowed values:
popup.custom_template text
Popup content. The text to appear in the popup. Use {{VALUE}} to include the numerical value of the current data point, or {{SERIES}} to display its series name. For any other selected columns use {{column_name}}. Advanced users can include HTML to apply layouts, formatting, images, etc.
popup.show_pointer boolean
Pointer.
popup.show_shadow boolean
Shadow.
popup.style_popups boolean
Custom styling.
popup.text_color color
Text colour.
popup.align string
Alignment. Allowed values:
popup.font_size number
Font size. Min: 1
popup.fill_color color
Fill colour.
popup.opacity number
Fill opacity. Max: 1
popup.padding number
Padding.
popup.border_radius number
Radius. Corner radius of popup
popup_color_headers boolean
Color headers to match data.
show_series_text boolean
Set series info in popups. Allows you to add information about each series/column (e.g. each line) to the popups. Note: This is incompatible with custom popup content.
popup_series_text text
Popup content for series. Adds content to the popup about the series. Separate column name and text with a double colon. For example:
Series 1 :: Comment about Series 1
Series 2 :: Comment about series 2
Annotations
axes_highlights.x_enabled boolean
Show highlights on the x axis.
axes_highlights.x_lines text
One per line, in format “My label :: 2012”. You can optionally also specify a color using the format “My label :: 2012 :: #44CCCC”. For visualizations containing a grid of mini charts, you can also apply the annotation on only a specific chart using the format, e.g. “My label :: 2012 :: #44CCCC :: Chart name”.
axes_highlights.x_line_color color
Line color.
axes_highlights.x_line_width number
Line width.
axes_highlights.x_line_dash number
Dash.
axes_highlights.x_areas text
One per line, in format “My label :: 2013 >> 2015”. You can optionally also specify a color using the format “My label :: 2013 >> 2015 :: #44CCCC”. For visualizations containing a grid of mini charts, you can also apply the annotation on only a specific chart using the format, e.g. “My label :: 2013 >> 2015 :: #44CCCC :: Chart name”.
axes_highlights.x_area_color color
Area.
axes_highlights.x_area_opacity number
Area opacity.
axes_highlights.x_area_texture string
Area texture. Allowed values:
axes_highlights.x_label_vertical boolean
Vertical.
axes_highlights.x_label_y_position string
Y position. Vertically position the label at the top, bottom or in the middle of the line. This setting will be ignored if there is not enough space for the selected position Allowed values:
axes_highlights.x_label_x_position string
X position. Horizontally position the label on the left, the right or in the middle of the line. This setting will be ignored if there is not enough space for the selected position Allowed values:
axes_highlights.x_label_max_width number
Max width. Min: 1
axes_highlights.x_font_size number
Font size.
axes_highlights.x_font_weight string
Font weight. Allowed values:
axes_highlights.x_label_color color
Text.
axes_highlights.x_shadow_color color
Shadow.
axes_highlights.x_shadow_enabled boolean
Shadow.
axes_highlights.y_enabled boolean
Show highlights on the y axis.
axes_highlights.y_lines text
One per line, in format “My label :: 5000”. You can optionally also specify a color using the format “My label :: 5000 :: #44CCCC”. For visualizations containing a grid of mini charts, you can also apply the annotation on only a specific chart using the format, e.g. “My label :: 5000 :: #44CCCC :: Chart name”.
axes_highlights.y_line_color color
Line color.
axes_highlights.y_line_width number
line width.
axes_highlights.y_line_dash number
Dash.
axes_highlights.y_areas text
One per line, in format “My label :: 2000 >> 8000”. You can optionally also specify a color using the format “My label :: 2000 >> 8000 :: #44CCCC”. For visualizations containing a grid of mini charts, you can also apply the annotation on only a specific chart using the format, e.g. “My label :: 2000 >> 8000” :: #44CCCC :: Chart name”.
axes_highlights.y_area_color color
Area.
axes_highlights.y_area_opacity number
Area opacity.
axes_highlights.y_area_texture string
Area texture. Allowed values:
axes_highlights.y_label_x_position string
X position. Horizontally position label on the left, the middle or the right end of the line. This setting will be ignored if there is not enough space for the selected position Allowed values:
axes_highlights.y_label_y_position string
Y position. Vertically position the label above, below or in the middle of the line. This setting will be ignored if there is not enough space for the selected position Allowed values:
axes_highlights.y_label_max_width number
Max width. Min: 1
axes_highlights.y_font_size number
Font size.
axes_highlights.y_font_weight string
Font weight. Allowed values:
axes_highlights.y_label_color color
Text.
axes_highlights.y_shadow_color color
Shadow.
axes_highlights.y_shadow_enabled boolean
Shadow.
annotations_styles boolean
Show styling options.
annotations.defaults.text_weight string
Weight. Allowed values:
annotations.defaults.text_size number
Text size.
annotations.defaults.label_width number
Max text width. Min: 2 Max: 20
annotations.defaults.line_marker string
Line marker. Allowed values:
annotations.defaults.connector_extend_line string
Extend line. Allowed values:
annotations.defaults.stroke_width number
Stroke width. Max: 4
annotations.defaults.text_line_height number
Line height. Min: 0.5 Max: 3
annotations.defaults.popup_position string
Popup position. Allowed values:
annotations.defaults.text_color color
Text.
annotations.defaults.text_bg color
Text Outline.
annotations.defaults.point_text_color color
Label.
annotations.defaults.popup_bg color
Popup.
annotations.defaults.stroke_color color
Stroke.
annotations.defaults.subject_fill color
Fill.
annotations.defaults.subject_fill_opacity number
Fill opacity. Max: 1
Animations
data_trans_duration number
Animation duration. The duration, in milliseconds, of transitions – for example between two slides in a story
animate_on_load boolean
Animate on load.
data_trans_bind_series boolean
Only animate series with same name. Determines how animations work when the data changes (e.g. between slides in a story). When this is on, series (e.g. lines) will attempt to animate to become another line only if they have the same name (i.e. the same column header).
data_trans_bind_data_points boolean
Only animate points with same label. Determines how animations work when the data changes (e.g. between slides in a story). When this is on, data points (e.g. dots or bars) will attempt to animate to become other data points if they have the same label (e.g. date or category).
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:
layout.background_image_enabled boolean
Image. Allowed values:
layout.background_color color
Background color.
layout.background_image_src url
Image URL.
layout.background_image_size string
Size. Allowed values:
layout.background_image_position string
Position. Allowed values:
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:
layout.max_width number
Maximum width. Leave blank to stretch to container width Min: 50
layout.max_width_align string
Align. Allowed values:
layout.layout_order string
Layout order. Allowed values:
layout.space_between_sections string
Space between sections. Allowed values:
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:
layout.border.top.color color
Color.
layout.border.right.width number
Right.
layout.border.right.style string
Style. Allowed values:
layout.border.right.color color
Color.
layout.border.bottom.width number
Bottom.
layout.border.bottom.style string
Style. Allowed values:
layout.border.bottom.color color
Color.
layout.border.left.width number
Left.
layout.border.left.style string
Style. Allowed values:
layout.border.left.color color
Color.
Header
layout.header_align string
Alignment. Allowed values:
layout.title string
layout.title_styling boolean
Change title styles.
layout.title_font font
Title Font.
layout.title_size string
Size. Allowed values:
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:
layout.title_color color
Color.
layout.title_line_height number
Line height. Max: 3
layout.title_space_above string
Space above. Allowed values:
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:
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:
layout.subtitle_color color
Color.
layout.subtitle_line_height number
Line height. Max: 3
layout.subtitle_space_above string
Space above. Allowed values:
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:
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:
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:
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:
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:
layout.header_logo_position_inside string
Position. Allowed values:
layout.header_logo_position_outside string
Position. Allowed values:
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.
Footer
layout.footer_align string
Alignment. Allowed values:
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.footer_text_weight string
Weight. Allowed values:
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:
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
layout.footer_logo_link_url string
Link.
layout.footer_logo_height number
Height.
layout.footer_logo_margin number
Margin.
layout.footer_logo_order string
Position. Allowed values:
layout.footer_align_vertical string
V. align. Allowed values:
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:
layout.footer_border_space number
Space. Space between border and footer text
Accessibility
layout.screenreader_hide_primary boolean
Screenreader mode for main visual container. Whether the main visual container is visible to screenreaders. (Text in the header and footer are always available to screenreaders.) Allowed values:
layout.screenreader_text_primary text
Screenreader description. A text alternative to the visual content that will only be visible to screenreaders, e.g. “The line chart shows China consistently higher than the other countries since 1990”. Do no replicate your title, since that will also be read by screenreaders.
URL settings
url_state.enabled boolean
Update project from URL. Make it possible to change the visualization's settings/state from the URL hash, for example when embedding in an iframe or popup panel
url_state.whitelist text
Allowed state properties. List each state property you want to make changeable with the URL hash. See the template page for a full list of state properties. Add one property name per line. Use dot format for nested properties, e.g. layout.background_color