Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mapbox/mapboxgl-jupyter
Use Mapbox GL JS to visualize data in a Python Jupyter notebook
https://github.com/mapbox/mapboxgl-jupyter
Last synced: 3 months ago
JSON representation
Use Mapbox GL JS to visualize data in a Python Jupyter notebook
- Host: GitHub
- URL: https://github.com/mapbox/mapboxgl-jupyter
- Owner: mapbox
- License: mit
- Created: 2017-08-08T15:10:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-01-11T05:18:07.000Z (almost 3 years ago)
- Last Synced: 2024-07-19T05:46:05.078Z (4 months ago)
- Language: Python
- Size: 9.89 MB
- Stars: 659
- Watchers: 131
- Forks: 135
- Open Issues: 42
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jupyter-resources - GitHub - 32% open · ⏱️ 19.04.2021): (交互式小部件和可视化)
- awesome-python-machine-learning-resources - GitHub - 32% open · ⏱️ 19.04.2021): (地理Geo处理)
README
=========================================================
Location Data Visualization library for Jupyter Notebooks
=========================================================.. image:: https://travis-ci.org/mapbox/mapboxgl-jupyter.svg?branch=master
:target: https://travis-ci.org/mapbox/mapboxgl-jupyter
:alt: Build Status.. image:: https://coveralls.io/repos/github/mapbox/mapboxgl-jupyter/badge.svg?branch=master
:target: https://coveralls.io/github/mapbox/mapboxgl-jupyter?branch=master
:alt: Coverage Status.. image:: https://badge.fury.io/py/mapboxgl.svg
:target: https://badge.fury.io/py/mapboxgl
:alt: PyPI versionLibrary documentation at https://mapbox-mapboxgl-jupyter.readthedocs-hosted.com/en/latest/.
Create `Mapbox GL JS `__ data
visualizations natively in Jupyter Notebooks with Python and Pandas. *mapboxgl*
is a high-performance, interactive, WebGL-based data visualization tool that
drops directly into Jupyter. *mapboxgl* is similar to `Folium
`__ built on top of the raster
`Leaflet `__ map library, but with much higher
performance for large data sets using WebGL and Mapbox Vector Tiles... image:: https://cl.ly/3a0K2m1o2j1A/download/Image%202018-02-22%20at%207.16.58%20PM.png
Try out the interactive map example notebooks from the /examples directory in
this repository1. `Categorical points `__
2. `All visualization types `__
3. `Choropleth Visualization types `__
4. `Image Visualization types `__
5. `Raster Tile Visualization types `__Installation
============.. code-block:: bash
$ pip install mapboxgl
Documentation
=============Documentation is on Read The Docs at https://mapbox-mapboxgl-jupyter.readthedocs-hosted.com/en/latest/.
Usage
=====The ``examples`` directory contains sample Jupyter notebooks demonstrating usage.
.. code-block:: python
import os
import pandas as pd
from mapboxgl.utils import create_color_stops, df_to_geojson
from mapboxgl.viz import CircleViz# Load data from sample csv
data_url = 'https://raw.githubusercontent.com/mapbox/mapboxgl-jupyter/master/examples/data/points.csv'
df = pd.read_csv(data_url)# Must be a public token, starting with `pk`
token = os.getenv('MAPBOX_ACCESS_TOKEN')# Create a geojson file export from a Pandas dataframe
df_to_geojson(df, filename='points.geojson',
properties=['Avg Medicare Payments', 'Avg Covered Charges', 'date'],
lat='lat', lon='lon', precision=3)# Generate data breaks and color stops from colorBrewer
color_breaks = [0,10,100,1000,10000]
color_stops = create_color_stops(color_breaks, colors='YlGnBu')# Create the viz from the dataframe
viz = CircleViz('points.geojson',
access_token=token,
height='400px',
color_property = "Avg Medicare Payments",
color_stops = color_stops,
center = (-95, 40),
zoom = 3,
below_layer = 'waterway-label'
)
viz.show()Development
===========Install the python library locally with pip:
.. code-block:: console
$ pip install -e .
To run tests use pytest:
.. code-block:: console
$ pip install mock pytest
$ python -m pytestTo run the Jupyter examples,
.. code-block:: console
$ cd examples
$ pip install jupyter
$ jupyter notebookWe follow the `PEP8 style guide for Python `__ for all Python code.
Release process
===============- After merging all relevant PRs for the upcoming release, pull the master branch
* ``git checkout master``
* ``git pull``
- Update the version number in ``mapboxgl/__init__.py`` and push directly to master.
- Tag the release
* ``git tag ``
* ``git push --tags``
- Setup for pypi (one time only)
* You'll need to ``pip install twine`` and set up your credentials in a `~/.pypirc `__ `file `__.
- Create the release files
* ``rm dist/*`` # clean out old releases if they exist
* ``python setup.py sdist bdist_wheel``
- Upload the release files
* ``twine upload dist/mapboxgl-*``