Charts
A chart earns its place when it shows what a table would hide: a trend, a ranking, a share of a whole. Say that finding in the title, draw only what supports it, and put the source underneath.
A chart, start to finish
The title tells the reader what to see. The plot shows it with as little ink as the data allows, and the line under the chart says where the figures come from.
First work permits in Croatia, 1,200 in 2026, are forecast to reach 4,200 in 2041
Source: example figures, not a measurement.
Show the numbers
| Year | First work permits | Range, low | Range, high | Basis |
|---|---|---|---|---|
| 2026 | 1,200 | 1,200 | 1,200 | Observed |
| 2027 | 1,400 | 1,330 | 1,470 | Forecast |
| 2028 | 1,600 | 1,440 | 1,760 | Forecast |
| 2029 | 1,800 | 1,530 | 2,070 | Forecast |
| 2030 | 2,000 | 1,600 | 2,400 | Forecast |
| 2031 | 2,200 | 1,650 | 2,750 | Forecast |
| 2032 | 2,400 | 1,680 | 3,120 | Forecast |
| 2033 | 2,600 | 1,690 | 3,510 | Forecast |
| 2034 | 2,800 | 1,680 | 3,920 | Forecast |
| 2035 | 3,000 | 1,650 | 4,350 | Forecast |
| 2036 | 3,200 | 1,600 | 4,800 | Forecast |
| 2037 | 3,400 | 1,530 | 5,270 | Forecast |
| 2038 | 3,600 | 1,440 | 5,760 | Forecast |
| 2039 | 3,800 | 1,330 | 6,270 | Forecast |
| 2040 | 4,000 | 1,200 | 6,800 | Forecast |
| 2041 | 4,200 | 1,050 | 7,350 | Forecast |
First work permits in Croatia by year, with the forecast range
2026
- First work permits
- 1,200
- Range, low
- 1,200
- Range, high
- 1,200
- Basis
- Observed
2027
- First work permits
- 1,400
- Range, low
- 1,330
- Range, high
- 1,470
- Basis
- Forecast
2028
- First work permits
- 1,600
- Range, low
- 1,440
- Range, high
- 1,760
- Basis
- Forecast
2029
- First work permits
- 1,800
- Range, low
- 1,530
- Range, high
- 2,070
- Basis
- Forecast
2030
- First work permits
- 2,000
- Range, low
- 1,600
- Range, high
- 2,400
- Basis
- Forecast
2031
- First work permits
- 2,200
- Range, low
- 1,650
- Range, high
- 2,750
- Basis
- Forecast
2032
- First work permits
- 2,400
- Range, low
- 1,680
- Range, high
- 3,120
- Basis
- Forecast
2033
- First work permits
- 2,600
- Range, low
- 1,690
- Range, high
- 3,510
- Basis
- Forecast
2034
- First work permits
- 2,800
- Range, low
- 1,680
- Range, high
- 3,920
- Basis
- Forecast
2035
- First work permits
- 3,000
- Range, low
- 1,650
- Range, high
- 4,350
- Basis
- Forecast
2036
- First work permits
- 3,200
- Range, low
- 1,600
- Range, high
- 4,800
- Basis
- Forecast
2037
- First work permits
- 3,400
- Range, low
- 1,530
- Range, high
- 5,270
- Basis
- Forecast
2038
- First work permits
- 3,600
- Range, low
- 1,440
- Range, high
- 5,760
- Basis
- Forecast
2039
- First work permits
- 3,800
- Range, low
- 1,330
- Range, high
- 6,270
- Basis
- Forecast
2040
- First work permits
- 4,000
- Range, low
- 1,200
- Range, high
- 6,800
- Basis
- Forecast
2041
- First work permits
- 4,200
- Range, low
- 1,050
- Range, high
- 7,350
- Basis
- Forecast
Source: example figures, not a measurement.
Choosing the chart
Start from the question. Comparing sizes calls for bars, change over time for columns or a line, a share of a whole for a stacked bar or a donut. The chart catalogue lists each chart with the question it answers.
When people need exact values more than a pattern, give them a table. When two measures run on different scales, draw two charts side by side, never one chart with two vertical axes.
Axes, gridlines and labels
Let the data be the strongest thing on the chart. Gridlines are faint and few, the zero line is slightly darker, and there is no frame or vertical axis line. Bars and columns start at zero, so their lengths compare honestly.
- Horizontal gridlines
- 4 at most, a hairline
- --border-rule
- Zero line
- 1 px at 22 percent
- --text
- Ticks
- 3 to 5, on round steps of 1, 2, 2.5 or 5, scaled by a power of ten
- Axis and tick labels
- 10 px, weight 400
- --text-muted
- Value labels
- 10 px, weight 500
- --text
- Smallest label
- 9 px on screen, 6 pt in print
- Chart surface
- 12 px radius, no border
- --surface-1
- Source line
- 12 px on screen, 7 pt in print
- --text-muted
Work permits issued in Croatia rose from 1,900 in 2020 to 4,200 in 2026
Source: example figures, not a measurement.
Show the numbers
| Year | Work permits issued |
|---|---|
| 2020 | 1,900 |
| 2021 | 2,400 |
| 2022 | 3,100 |
| 2023 | 3,600 |
| 2024 | 3,900 |
| 2025 | 4,100 |
| 2026 | 4,200 |
Work permits issued in Croatia by year
2020
- Work permits issued
- 1,900
2021
- Work permits issued
- 2,400
2022
- Work permits issued
- 3,100
2023
- Work permits issued
- 3,600
2024
- Work permits issued
- 3,900
2025
- Work permits issued
- 4,100
2026
- Work permits issued
- 4,200
Source: example figures, not a measurement.
Color
Series take their colors in a fixed order: brand blue, teal, amber, rose, violet, with slate for the remainder. The hues stay the same in both themes. Blue and violet never sit side by side, since some readers cannot tell them apart. From four series on, each color also carries a pattern.
Green and red stay reserved for status messages and do not draw series.
Brand blue
Teal
Amber
Rose
Violet
Slate
Construction takes 1,500 of the 4,200 work permits issued
Source: example figures, not a measurement.
Show the numbers
| Sector | Work permits issued |
|---|---|
| Construction | 1,500 |
| Care | 900 |
| Hospitality | 700 |
| Logistics | 500 |
| Agriculture | 400 |
| Every other sector | 200 |
Work permits issued by sector
Construction
- Work permits issued
- 1,500
Care
- Work permits issued
- 900
Hospitality
- Work permits issued
- 700
Logistics
- Work permits issued
- 500
Agriculture
- Work permits issued
- 400
Every other sector
- Work permits issued
- 200
Source: example figures, not a measurement.
Labels and legends
Name each series next to its line or bar wherever there is room, and fall back to a legend only when there is not. A legend sits in one row above the plot. A chart with one series needs no legend.
A label that does not fit is left out and counted in the chart's description, rather than shrunk below 9 px.
Poland issues the most work permits of the eight markets, 9,800
Source: example figures, not a measurement.
Show the numbers
| Market | Work permits issued |
|---|---|
| Poland | 9,800 |
| Czechia | 7,400 |
| Romania | 5,200 |
| Hungary | 4,600 |
| Croatia | 4,200 |
| Slovakia | 3,100 |
| Bulgaria | 2,600 |
| Slovenia | 1,900 |
Work permits issued by market
Poland
- Work permits issued
- 9,800
Czechia
- Work permits issued
- 7,400
Romania
- Work permits issued
- 5,200
Hungary
- Work permits issued
- 4,600
Croatia
- Work permits issued
- 4,200
Slovakia
- Work permits issued
- 3,100
Bulgaria
- Work permits issued
- 2,600
Slovenia
- Work permits issued
- 1,900
Source: example figures, not a measurement.
Nepal's share of first work permits is forecast to fall from 40 percent in 2026 to 25 percent in 2041
- Nepal
- India
- Philippines
- Bangladesh
- Every other origin
Source: example figures, not a measurement.
Show the numbers
| Year | Nepal | India | Philippines | Bangladesh | Every other origin |
|---|---|---|---|---|---|
| 2026 | 40 | 22 | 16 | 12 | 10 |
| 2027 | 39 | 23 | 16 | 12 | 10 |
| 2028 | 38 | 24 | 16 | 12 | 10 |
| 2029 | 37 | 25 | 16 | 12 | 10 |
| 2030 | 36 | 26 | 16 | 12 | 10 |
| 2031 | 35 | 27 | 16 | 12 | 10 |
| 2032 | 34 | 28 | 16 | 12 | 10 |
| 2033 | 33 | 29 | 16 | 12 | 10 |
| 2034 | 32 | 30 | 16 | 12 | 10 |
| 2035 | 31 | 31 | 16 | 12 | 10 |
| 2036 | 30 | 32 | 16 | 12 | 10 |
| 2037 | 29 | 33 | 16 | 12 | 10 |
| 2038 | 28 | 34 | 16 | 12 | 10 |
| 2039 | 27 | 35 | 16 | 12 | 10 |
| 2040 | 26 | 36 | 16 | No data | 10 |
| 2041 | 25 | 37 | 16 | 12 | 10 |
Share of first work permits by citizenship and year, percent
2026
- Nepal
- 40
- India
- 22
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2027
- Nepal
- 39
- India
- 23
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2028
- Nepal
- 38
- India
- 24
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2029
- Nepal
- 37
- India
- 25
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2030
- Nepal
- 36
- India
- 26
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2031
- Nepal
- 35
- India
- 27
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2032
- Nepal
- 34
- India
- 28
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2033
- Nepal
- 33
- India
- 29
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2034
- Nepal
- 32
- India
- 30
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2035
- Nepal
- 31
- India
- 31
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2036
- Nepal
- 30
- India
- 32
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2037
- Nepal
- 29
- India
- 33
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2038
- Nepal
- 28
- India
- 34
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2039
- Nepal
- 27
- India
- 35
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
2040
- Nepal
- 26
- India
- 36
- Philippines
- 16
- Bangladesh
- No data
- Every other origin
- 10
2041
- Nepal
- 25
- India
- 37
- Philippines
- 16
- Bangladesh
- 12
- Every other origin
- 10
Source: example figures, not a measurement.
Hover, touch and keys
Anything the chart must say is visible without interaction. Hovering only adds detail. The whole plot answers the pointer and snaps to the nearest point, and on a phone a tap keeps the point until you tap elsewhere.
The tooltip shows the period, then one row per series. With a keyboard, a chart is one stop, and the tooltip follows the focus as the keys below move through the data.
- Left, Right
- previous or next point
- Up, Down
- another series at the same point
- Home, End
- first or last point
- Escape
- leave the chart
First work permits in Croatia, 1,200 in 2026, are forecast to reach 4,200 in 2041
Source: example figures, not a measurement.
Show the numbers
| Year | First work permits | Range, low | Range, high | Basis |
|---|---|---|---|---|
| 2026 | 1,200 | 1,200 | 1,200 | Observed |
| 2027 | 1,400 | 1,330 | 1,470 | Forecast |
| 2028 | 1,600 | 1,440 | 1,760 | Forecast |
| 2029 | 1,800 | 1,530 | 2,070 | Forecast |
| 2030 | 2,000 | 1,600 | 2,400 | Forecast |
| 2031 | 2,200 | 1,650 | 2,750 | Forecast |
| 2032 | 2,400 | 1,680 | 3,120 | Forecast |
| 2033 | 2,600 | 1,690 | 3,510 | Forecast |
| 2034 | 2,800 | 1,680 | 3,920 | Forecast |
| 2035 | 3,000 | 1,650 | 4,350 | Forecast |
| 2036 | 3,200 | 1,600 | 4,800 | Forecast |
| 2037 | 3,400 | 1,530 | 5,270 | Forecast |
| 2038 | 3,600 | 1,440 | 5,760 | Forecast |
| 2039 | 3,800 | 1,330 | 6,270 | Forecast |
| 2040 | 4,000 | 1,200 | 6,800 | Forecast |
| 2041 | 4,200 | 1,050 | 7,350 | Forecast |
First work permits in Croatia by year, with the forecast range
2026
- First work permits
- 1,200
- Range, low
- 1,200
- Range, high
- 1,200
- Basis
- Observed
2027
- First work permits
- 1,400
- Range, low
- 1,330
- Range, high
- 1,470
- Basis
- Forecast
2028
- First work permits
- 1,600
- Range, low
- 1,440
- Range, high
- 1,760
- Basis
- Forecast
2029
- First work permits
- 1,800
- Range, low
- 1,530
- Range, high
- 2,070
- Basis
- Forecast
2030
- First work permits
- 2,000
- Range, low
- 1,600
- Range, high
- 2,400
- Basis
- Forecast
2031
- First work permits
- 2,200
- Range, low
- 1,650
- Range, high
- 2,750
- Basis
- Forecast
2032
- First work permits
- 2,400
- Range, low
- 1,680
- Range, high
- 3,120
- Basis
- Forecast
2033
- First work permits
- 2,600
- Range, low
- 1,690
- Range, high
- 3,510
- Basis
- Forecast
2034
- First work permits
- 2,800
- Range, low
- 1,680
- Range, high
- 3,920
- Basis
- Forecast
2035
- First work permits
- 3,000
- Range, low
- 1,650
- Range, high
- 4,350
- Basis
- Forecast
2036
- First work permits
- 3,200
- Range, low
- 1,600
- Range, high
- 4,800
- Basis
- Forecast
2037
- First work permits
- 3,400
- Range, low
- 1,530
- Range, high
- 5,270
- Basis
- Forecast
2038
- First work permits
- 3,600
- Range, low
- 1,440
- Range, high
- 5,760
- Basis
- Forecast
2039
- First work permits
- 3,800
- Range, low
- 1,330
- Range, high
- 6,270
- Basis
- Forecast
2040
- First work permits
- 4,000
- Range, low
- 1,200
- Range, high
- 6,800
- Basis
- Forecast
2041
- First work permits
- 4,200
- Range, low
- 1,050
- Range, high
- 7,350
- Basis
- Forecast
Source: example figures, not a measurement.
Accessibility
Each chart carries a text description written from its data: the kind of chart, its finding, the range of its values and the highest of them. A point reads with its context first, such as the year, then the series and the value.
A screen reader hears the drawing as one image with that description, not label by label. Under each chart, Show the numbers opens the same data as a table.
Motion and print
On screen, marks grow to their values when a chart appears and move to new values when the data changes, within 300 ms. With reduced motion they appear in place. Charts in reports and in print stay still.
In print, a chart uses exact colors with a pattern on each series, fits the widths of the page grid, and keeps its source line.
Permitted and not permitted
Permitted
Start bars and columns at zero
Their length is the value.
Write the finding in the title
Say what changed, for whom and over which years.
Show one point as a column or a dot
A line needs four points or more.
Not permitted
Add a second vertical axis
Two scales on one plot invite false comparisons. Draw two charts.
Crowd a chart with more than five series
Keep five and group the rest as a remainder, or use a table.
Keep values behind hover only
A printed page has no hover.