Logo API#
Scikit-plots includes a small brand helper that generates the official logo using pure Matplotlib primitives. The default output is deterministic and requires no image assets.
This makes the logo easy to:
ship inside the library,
regenerate at any size,
theme for dark/light docs,
export as SVG/PNG without external dependencies.
Note
The public interface is exposed as _logo.
The internal implementation may live in _logo.
If you are developing inside the repository you may see examples using
sp._logo; user code should prefer sp._logo when available.
Quickstart#
import scikitplot as sp
# Show primary icon
sp._logo.show()
# Save a single icon
sp._logo.save("scikit-plots.svg")
# Save multiple variants using a template
sp._logo.save(
"assets/scikit-plots-{variant}.svg",
variants=sp._logo.list_variants()
)
Variants#
Scikit-plots provides several icon variants tuned for different contexts:
primary: full brand mark for docs, README, websites.
small: simplified icon for tiny sizes.
metrics: highlights classic ML evaluation concepts.
knn: subtle nod to Annoy/KNN features.
sp._logo.list_variants()
# ('primary', 'small', 'metrics', 'knn')
# Save all variants with auto suffix
sp._logo.save("assets/scikit-plots.svg", variants=sp._logo.list_variants())
Themes & Monochrome#
Use themes for dark backgrounds and monochrome for badges or watermarks.
# Dark theme for docs landing pages
sp._logo.save("assets/scikit-plots-dark.svg", theme="dark")
# Monochrome for badges
sp._logo.save("assets/scikit-plots-mono.svg", mono=True)
Decorative Dots#
The primary mark supports a small dot field.
For brand-stable output, keep dots="fixed" (the default).
# Brand-stable default
sp._logo.save("assets/scikit-plots-primary.svg", dots="fixed")
# Turn off dots for extra minimal output
sp._logo.save("assets/scikit-plots-clean.svg", dots="none")
# Experimental random layout (not recommended for official assets)
sp._logo.save("assets/scikit-plots-random.svg", dots="random", seed=42)
Presets#
Presets provide convenient defaults for common contexts such as favicons, avatars, and documentation hero images.
sp._logo.list_size_presets()
# ('favicon', 'avatar', 'docs-hero')
# A crisp small icon for browser/app use
sp._logo.save("assets/favicon.png", preset="favicon")
# A balanced default for social/GitHub avatars
sp._logo.save("assets/avatar.svg", preset="avatar")
# A large icon for docs landing pages
sp._logo.save("assets/hero.svg", preset="docs-hero")
Wordmark#
The wordmark combines the icon with a text lockup. This is useful for website headers, slides, and banners.
# Show wordmark
sp._logo.wordmark.show()
# Save wordmark lockup
sp._logo.wordmark.save("assets/scikit-plots-lockup.svg")
Saving Behavior#
The save API follows Matplotlib-style conventions:
Format is inferred from filename suffix.
Override inference with
ext=orformat=.Extra keyword arguments are forwarded to
Figure.savefig.
# Infer format from suffix
sp._logo.save("assets/scikit-plots.png", dpi=300)
# Force SVG even without suffix
sp._logo.save("assets/scikit-plots", format="svg")
# Save multiple variants using a template
sp._logo.save(
"assets/scikit-plots-{variant}.png",
variants=["primary", "small"],
dpi=300
)
Command Line#
A lightweight CLI is available for batch generation.
# Export all icon variants
python -m scikitplot._logo --all --out assets
# Generate a favicon preset
python -m scikitplot._logo --all --preset favicon --out assets --format png
python -m scikitplot._logo --preset favicon --out assets --format png
# Generate the wordmark lockup
python -m scikitplot._logo --wordmark --out assets --format svg
python -m scikitplot._logo --wordmark --out assets --format png
Developing & Testing Logos#
When extending or adjusting the brand system:
Prefer testing artist-level determinism rather than raw SVG bytes.
Keep
dots="fixed"for official outputs.Add new variants by composing existing primitives (bars, wedges, lines).
If you need a backend-stability check for SVG serialization, compare normalized SVG output rather than byte-for-byte equality.
See also
scikitplot._logo.createscikitplot._logo.savescikitplot._logo.list_variants