Skip to main content

Python library for plotting bivariate choropleth maps

Project description

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])

Project details


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.0.tar.gz (97.4 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.0-py3-none-any.whl (101.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bivario-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7aa25874f2fb53493c1381e8d7bb78b1f4008fe3ffaa4acf65350c363b4da1a9
MD5 34093a2a2094150649e0bc61eb2c286d
BLAKE2b-256 e48210da147f322d495dbadcc9814f840e47dd2ed29e52936a210b0b8a76025a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bivario-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae101507ca570ee8658302edf7f6a905216cc539c2a240127138feacbd5a2d53
MD5 ee2e2424f48c77c4cca137391ec0eda2
BLAKE2b-256 b652f0c1d6f9e2b2e232477ccbc74acabdbde051c4329907073817c3505b0bdd

See more details on using hashes here.

Supported by

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