Kepler API Reference#

Geographic visualization with Kepler.gl integration.

The Kepler module provides classes and methods for creating interactive map-based visualizations using Kepler.gl. This includes configuration for datasets, layers, and complete geographic visualizations.

Note

Graphistry automatically performs geographic visualization when point_longitude and point_latitude are bound. The Kepler API provides additional control for customizing datasets, layers, and map styling.

API Components#

Configuration Classes#

Plotter Methods#

Native Formats#

Overview#

Geographic Bindings#

Bind geographic coordinate columns to enable automatic Kepler rendering:

g = g.bind(
    point_longitude='longitude_column',
    point_latitude='latitude_column'
)
g.plot()  # Automatically renders as geographic visualization

Configuration Classes#

  • KeplerDataset: Configure datasets (nodes, edges, countries, states)

  • KeplerLayer: Configure visualization layers (point, arc, hexagon, etc.)

  • KeplerOptions: Configure visualization options (map centering, interactions)

  • KeplerConfig: Configure map settings (blending, tile style)

  • KeplerEncoding: Complete Kepler configuration container

Plotter Methods#

Layout Methods#

Basic Usage Example#

import graphistry
import pandas as pd

# Prepare data
nodes_df = pd.DataFrame({
    'id': ['NYC', 'LA', 'Chicago'],
    'lat': [40.7128, 34.0522, 41.8781],
    'lon': [-74.0060, -118.2437, -87.6298]
})

# Automatic geographic visualization
g = graphistry.nodes(nodes_df, 'id')
g = g.bind(point_longitude='lon', point_latitude='lat')
g.plot()

Advanced Configuration Example#

from graphistry import KeplerEncoding, KeplerDataset, KeplerLayer

# Build custom configuration
encoding = (
    KeplerEncoding()
    .with_dataset(KeplerDataset(id="cities", type="nodes", label="Cities"))
    .with_dataset(KeplerDataset(id="routes", type="edges", label="Routes"))
    .with_layer(KeplerLayer(
        id="city-points",
        type="point",
        config={
            "dataId": "cities",
            "columns": {"lat": "latitude", "lng": "longitude"},
            "color": [255, 140, 0],
            "visConfig": {"radius": 10, "opacity": 0.8}
        }
    ))
    .with_layer(KeplerLayer(
        id="route-arcs",
        type="arc",
        config={
            "dataId": "routes",
            "columns": {
                "lat0": "edgeSourceLatitude",
                "lng0": "edgeSourceLongitude",
                "lat1": "edgeTargetLatitude",
                "lng1": "edgeTargetLongitude"
            },
            "color": [0, 200, 255],
            "visConfig": {"opacity": 0.3}
        }
    ))
    .with_options(centerMap=True)
)

# Apply to graph
g = g.encode_kepler(encoding)
g.plot()

See Also#