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.
Quick Links#
Maps & Geographic Visualization: Maps & geographic visualization guide
Mercator Layout: Mercator projection layout (optional)
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#
encode_kepler(): Apply complete Kepler configuration
encode_kepler_dataset(): Add a dataset
encode_kepler_layer(): Add a visualization layer
encode_kepler_options(): Apply visualization options
encode_kepler_config(): Apply map configuration
Layout Methods#
mercator_layout(): Convert lat/lon to Mercator projection (optional)
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#
Maps & Geographic Visualization: Maps & geographic visualization guide
Mercator Layout: Mercator projection layout
PyGraphistry Layout Catalog: Layout catalog with all available layouts