Insper’s brand guide covers print, not charts. It specifies Pantone
references, tints and shades per hue family, and rules for text on
colored backgrounds, but no categorical sequence and no guidance on
which palette suits which kind of data. This vignette records how
insperplot fills those gaps, which of its palettes are
brand tokens verbatim, and which are derived.
The main palette is the brand’s own hue set, and it puts
red, green, orange and yellow next to one another. That combination is
hard to read under the common forms of color vision deficiency.
Deuteranopia and protanopia both compress the red-green axis, so
categories that look distinct to you may merge for roughly 1 in 12 male
readers.
Use the colorblind palette when telling categories apart
matters more than brand fidelity: a chart with many categories, a slide
seen from the back of a room, or a document whose rendering you cannot
control. It is the Okabe-Ito set, designed so
that its colors stay distinct under the usual color vision
deficiencies.
It is the only palette in insperplot with no Insper
colors. Use main for on-brand work, and switch to
colorblind when you have a reason to.
A separate question is what color text should sit on top of
a brand color. The brand guide rules on this for the family base colors
and neutrals, and the acessibilidade column of the
insper_color_reference dataset records those rules.
subset(
insper_color_reference,
!is.na(acessibilidade),
select = c(nome, hex, acessibilidade)
)
#> # A tibble: 15 × 3
#> nome hex acessibilidade
#> <chr> <chr> <chr>
#> 1 vermelho #E50505 branco
#> 2 branco #FFFFFF preto
#> 3 preto #000000 branco
#> 4 verde 0 #92D053 preto
#> 5 amarelo 0 #FFCC00 preto
#> 6 laranja 0 #F89D49 preto
#> 7 rosa 0 #F47DCD ambos
#> 8 roxo 0 #730D9F branco
#> 9 turquesa 0 #3ACC9F ambos
#> 10 cinza 0 #DCDCDC preto
#> 11 cinza 1 #ABABAB preto
#> 12 cinza 2 #808080 branco
#> 13 cinza 3 #5B5B5B branco
#> 14 cinza 4 #3F3F3F branco
#> 15 azul escuro #0E171D brancoThe guide does not rule on the tints and shades, so those rows are
NA. For labels drawn on colored shapes,
insperplot computes WCAG relative luminance at draw time
instead. That is how insper_barplot() picks a white or dark
label for each segment of stacked and filled bars.
Insper’s brand guidelines assign three fonts.
Following them literally gives the code below.
theme_minimal(base_family = "Inter 18pt") +
theme_sub_plot(
title = element_text(family = "GT Ultra Fine Bold", size = 22),
subtitle = element_text(family = "GT Ultra Fine Bold", size = 10),
caption = element_text(family = "Inter 18pt")
)
some_plot +
annotate(
"text",
label = "SOME HIGHLIGHT ALWAYS IN CAPS",
family = "Acumin Pro ExtraCondensed"
)This scheme is hard to reproduce. GT Ultra is a proprietary, paid font. Acumin Pro and Verdana ship with some operating systems but not others. Inter ships with few operating systems, but it is free to download from Google Fonts.
insperplot implementationinsperplot bundles Inter, so the font installs with the
package. Inter carries all text except the title, which uses Georgia, a
serif font that ships with most operating systems.
tinsper <- theme_insper()
tinsper$plot.title@family
#> "Georgia"
tinsper$plot.subtitle@family
#> "Inter"
tinsper$text@family
#> "Inter"The default theme_insper() produces a plot like the one
below.
base_plot <- ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
labs(
title = "Basic Theme",
subtitle = "USING THE PACKAGE TO MAKE PLOTS",
x = "Miles per Gallon",
y = "Weight (lbs)",
caption = "Source: mtcars | Insper"
)
base_plot +
theme_insper()Users who have GT Ultra, Acumin, or Verdana installed can use them by
setting font_title and font_text in
theme_insper().
Where Acumin is installed, it can carry subtitles and highlights. The chunks below are not run, because they name fonts that the package does not bundle.
base_plot +
theme_insper(
font_title = "Georgia",
font_text = "Inter"
) +
theme_sub_plot(
subtitle = element_text(family = "Acumin Pro ExtraCondensed", size = 14)
)Verdana is the brand’s fallback for Inter. Since Inter ships with the package, you rarely need it.
Insper’s brand guidelines target printed materials, not charts. The kit specifies Pantone references and a handful of tints and shades per hue family, but no categorical sequence. The bundled palettes will not suit every chart, so it helps to know how each one was built.
Some palettes are the brand kit verbatim.
main is the six secondary hue bases plus vermelho,
interleaved so that adjacent categories contrast.turquesa, verde,
amarelo, laranja, rosa,
roxo) are the kit’s own five tokens per family, sorted
light to dark by perceptual lightness. No color was invented.cinza is the five neutral grays.Others are derived, because the kit does not ship what a chart needs.
muted is main desaturated by 25%. None of
its seven hexes appear in the guide. It exists because full-chroma brand
hues are overwhelming across large filled areas.vermelho and azul are interpolated ramps.
The kit ships only a single base token for each, so the other steps were
interpolated in CIELAB. Only the base token is official: it sits at the
middle of vermelho and at the dark end of
azul.#F4F4F2, which is not a brand
token.Finally, colorblind is the Okabe-Ito palette, which
contains no Insper colors.
When main is too loud and muted is not
distinct enough, you can pull mid-range steps out of the sequential
ramps. Those steps are still brand colors, and finding a set that works
is mostly trial and error.
paleta <- c(
insper_palette("turquesa")[4],
insper_palette("amarelo")[3],
insper_palette("roxo")[2],
insper_palette("muted")[1],
insper_palette("cinza")[3],
insper_palette("verde")[3],
insper_palette("laranja")[3]
)The indices were chosen by eye: darker steps for the light families (turquesa, amarelo, verde, laranja) and a lighter step for roxo, which is very dark at its base. The result is shown below on a stacked bar chart and a stacked area chart.
The Centro de Estudos das Cidades (Laboratório Arq.Futuro) publishes its own application manual. It adds four colors to the shared institutional vermelho, branco and preto.
These are folhagem, solar,
asfalto and tijolo. Everything prefixed
cidades in insperplot comes from that manual
rather than the institutional brand kit, and nothing in the package
defaults to them.
Unlike the six institutional hue families, the Cidades manual ships no tints or shades, only the four base colors. The package therefore builds each ramp: seven steps interpolated in CIELAB from a lightened anchor, through the official color, to a darkened one. The official color is pinned at position 4.
Without the pin, rounding in the interpolation would shift the
official color slightly: folhagem would come back from its
own ramp as #009880 rather than #019881.
The Cidades manual has no accessibility page, so unlike the institutional colors there is no official ruling on what text color to put on these backgrounds. The values below are computed from WCAG relative luminance rather than taken from a guide.
| Color | Contrast vs white | Contrast vs black | Use |
|---|---|---|---|
folhagem |
3.61 | 5.81 | black text |
solar |
1.95 | 10.78 | black text |
asfalto |
9.01 | 2.33 | white text |
tijolo |
3.36 | 6.26 | black text |
Asfalto is the only one of the four that takes white text.