Font Families

dartwork-mpl bundles 9 professional font families with a total of 130 font variants. Each family is optimized for different use cases in data visualization.

Roboto (Default)

Roboto font family preview

Google’s flagship sans-serif typeface and the default font in dartwork-mpl. Roboto features friendly, open curves while maintaining a mechanical skeleton, making it highly legible at all sizes.

Variants: 15 (Thin, Light, Regular, Medium, Bold, Black + Italics)

Best For:

  • General-purpose body text

  • Axis labels and tick marks

  • Legends and annotations

Usage:

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Roboto'
plt.rcParams['font.weight'] = 300  # Light weight (dartwork default)

Inter

Inter font family preview

A modern sans-serif typeface designed specifically for computer screens. Inter features a tall x-height for improved readability at small sizes and includes many OpenType features.

Variants: 20 (Thin through Black, with Italics)

Best For:

  • UI-style visualizations

  • Presentations and slides

  • Screen-first publications

Usage:

plt.rcParams['font.family'] = 'Inter'

InterDisplay

InterDisplay font family preview

The display variant of Inter, optimized for larger sizes. Features tighter letter-spacing and refined details that shine at headline sizes.

Variants: 20 (Thin through Black, with Italics)

Best For:

  • Figure titles

  • Section headings

  • Large callout text

Usage:

ax.set_title("Main Title", fontfamily='Inter Display', fontsize=24)

Noto Sans

Noto Sans font family preview

Google’s Noto Sans provides harmonious typography across hundreds of languages. The name “Noto” comes from “No Tofu”—the goal of eliminating the blank boxes (tofu) that appear when a font lacks a glyph.

Variants: 15 (ExtraLight through Black, with Italics)

Best For:

  • Multi-language documents

  • International publications

  • Unicode-heavy content

Usage:

plt.rcParams['font.family'] = 'Noto Sans'

Noto Sans Condensed

Noto Sans Condensed font family preview

The condensed variant of Noto Sans, providing the same excellent character coverage in a narrower form factor.

Variants: 20 (Thin through Black, with Italics)

Best For:

  • Tables with many columns

  • Dense data visualizations

  • Space-constrained layouts

Usage:

plt.rcParams['font.family'] = 'Noto Sans Condensed'

Noto Sans SemiCondensed

Noto Sans SemiCondensed font family preview

A middle ground between regular Noto Sans and the fully condensed variant. Offers good space efficiency while maintaining excellent readability.

Variants: 20 (Thin through Black, with Italics)

Best For:

  • Legends with many entries

  • Compact labels

  • Moderate space savings

Usage:

plt.rcParams['font.family'] = 'Noto Sans SemiCondensed'

Noto Sans ExtraCondensed

Noto Sans ExtraCondensed font family preview

The most condensed variant in the Noto Sans family. Use when space is at an absolute premium.

Variants: 20 (Thin through Black, with Italics)

Best For:

  • Very tight axis labels

  • Narrow figure margins

  • Maximum information density

Usage:

plt.rcParams['font.family'] = 'Noto Sans ExtraCondensed'

Noto Sans Math

Noto Sans Math font preview

A dedicated font for mathematical typesetting. Noto Sans Math provides comprehensive coverage of mathematical symbols, operators, and special characters used in scientific notation.

Variants: 1 (Regular only)

Best For:

  • Scientific equations

  • Mathematical notation

  • Greek letters and symbols

Usage in dartwork-mpl:

Noto Sans Math is automatically configured for mathtext rendering:

# These settings are applied by dartwork-mpl styles
plt.rcParams['mathtext.fontset'] = 'custom'
plt.rcParams['mathtext.rm'] = 'Noto Sans Math'
plt.rcParams['mathtext.it'] = 'Noto Sans Math:italic'
plt.rcParams['mathtext.bf'] = 'Noto Sans Math:bold'

Example:

ax.set_xlabel(r'$\alpha = \frac{\Delta x}{\Delta t}$')
ax.set_ylabel(r'$\sum_{i=1}^{n} x_i^2$')

Paperlogy

Paperlogy font family preview

A clean, professional typeface designed specifically for documents and papers. Paperlogy offers excellent readability in dense text environments typical of academic and business publications.

Variants: 9 (Light through Black)

Best For:

  • Academic papers

  • Technical reports

  • Professional documents

Usage:

plt.rcParams['font.family'] = 'Paperlogy'

Font Weight Reference

All font families (except Noto Sans Math) include multiple weights:

Weight Name

Numeric Value

Description

Thin

100

Extremely light

ExtraLight

200

Very light

Light

300

Light (dartwork default)

Regular

400

Normal

Medium

500

Slightly bold

SemiBold

600

Semi-bold

Bold

700

Bold

ExtraBold

800

Extra bold

Black

900

Maximum weight

Font weight comparison

Using Weights:

# Direct weight specification
ax.set_title("Title", fontweight=700)

# Or use the fw() helper for relative weights
ax.set_title("Title", fontweight=dm.fw(2))  # base + 200