Skip to main content

bivario

Python library for plotting bivariate choropleth maps in Matplotlib, Folium and Lonboard.


GitHub Checks GitHub Workflow Status - PROD pre-commit.ci status CodeFactor Grade Codecov Package version Supported Python versions PyPI - Downloads

Installation

With pip:

pip install bivario

With uv:

uv add bivario

Usage


Example of a Folium map in light and dark modes.

Simple Folium map:

from bivario import explore_bivariate_data
from bivario.example_data import nyc_bike_trips

explore_bivariate_data(
    nyc_bike_trips(), "morning_starts", "morning_ends"
)

Simple Lonboard map:

from bivario import viz_bivariate_data
from bivario.example_data import nyc_bike_trips

viz_bivariate_data(
    nyc_bike_trips(), "morning_starts", "morning_ends"
)

In dark mode:

from bivario import explore_bivariate_data
from bivario.example_data import nyc_bike_trips

explore_bivariate_data(
    nyc_bike_trips(),
    column_a="morning_starts",
    column_b="morning_ends",
    dark_mode=True, # default is False
)

Use other palette:

from bivario import explore_bivariate_data
from bivario.example_data import nyc_bike_trips

explore_bivariate_data(
    nyc_bike_trips(),
    column_a="morning_starts",
    column_b="morning_ends",
    cmap="bubblegum"
)

Set numerical mode (disable bucketing):

[!NOTE] By default, map is created using Mapclassify library with NaturalBreaks method to split data into 5 categories. Method and number of buckets can be changed or disabled completely.

from bivario import explore_bivariate_data
from bivario.example_data import nyc_bike_trips

explore_bivariate_data(
    nyc_bike_trips(),
    column_a="morning_starts",
    column_b="morning_ends",
    dark_mode=True,
    cmap="late_sunset",
    scheme=False, # or set to None
    legend_size_px=300,
)


Example of a Folium map in a numerical mode.

Bivariate colourmaps

Palettes in bivario are created by blending 2 or 4 colours in a 2D space using OKLab colour space. The operations on input and output are done in RGB, an internally are transformed into OKLab values using colour-science library.

bivario has 4 modes of Bivariate colourmaps:

AccentsBivariateColourmap - defined by two accent colours and a light and a dark colour.


CornersBivariateColourmap - defined by 4 corner colours (accent a/b, low value and high value)


MplCmapBivariateColourmap - defined by 2 Matplotlib colourmaps along axis X and Y


NamedBivariateColourmap - can load predefined palette from string name


Available palettes


You can load these palettes by passing a string name to the cmap attribute, or load a NamedBivariateColourmap object:

cmap = NamedBivariateColourmap("coral_ocean")

# You can call it similar to Matplotlib Colormap object
rgb_values = cmap(values_a=[0, 1], values_b=[0, 1])

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bivario-0.3.1.tar.gz (97.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bivario-0.3.1-py3-none-any.whl (101.0 kB view details)

Uploaded Python 3

File details

Details for the file bivario-0.3.1.tar.gz.

File metadata

  • Download URL: bivario-0.3.1.tar.gz
  • Upload date:
  • Size: 97.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for bivario-0.3.1.tar.gz
Algorithm Hash digest
SHA256 802271b26563d35044534fb698f59dc3a07ff5fa4d1f2971b5195013f10b079b
MD5 dbdc8fc28f60d476c073b7cd4338b971
BLAKE2b-256 5b6405544ab9bbc9d2a6a12c4f162a7a30355f5b8a61274ef49a5af28387d5df

See more details on using hashes here.

File details

Details for the file bivario-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: bivario-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 101.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for bivario-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 967ce1c63e539eed44bb2853d01a9d3061be95175573a3219e314720602839db
MD5 248b76f5c4c3b54f5d26c9b5d2026950
BLAKE2b-256 393f2284243ee9a2ebca8103620e42e41986dd1341baee7a6484b2492629e8a3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page