Skip to main content

Scale areas of a geopandas map by any property to create more intuitive and beautiful choropleth visualizations.

Project description

MapScaler

Example visualization

Scale areas of a geopandas map by any property (such as population) - without the shapes overlapping - to create more intuitive and beautiful choropleth visualizations.

Official Documentation

Quick Start:

Suppose you have a GeoPandas Dataframe df, including a column scaleby that is a float column indicating how much each sample should grow or shrink to reflect each location's respective population. The goal is for the area of each location to visually portray it's contribution to the entire map for your chosen variable (population, in this example).

import mapscaler as ms

ss = ms.ShapeScaler()
scaled_df = ss.scale_map(df, 'scaleby')

The above code returns a new GeoPandas dataframe with an updated geometry column, with each shape's area having been scaled (up or down) to reflect its respective scalar.
Similarly, all shapes can be converted to circles before scaling by using the BubbleScaler:

import mapscaler as ms

bs = ms.BubbleScaler()
scaled_df = bs.scale_map(df, 'scaleby')

More realistically, you may need to tweak a few arguments to get an ideal map, depending on the distribution of your initial areas and the distribution of your scalars. See the documentation for full examples.

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

mapscaler-0.0.4.tar.gz (1.7 MB view hashes)

Uploaded Source

Built Distribution

mapscaler-0.0.4-py3-none-any.whl (1.7 MB view hashes)

Uploaded Python 3

Supported by

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