Skip to content
Open Garphield

Visualize Raphtory temporal graphs

Raphtory is a temporal graph library. Select a window or snapshot in Raphtory, export it to NetworkX, and open it in Garphield.

The shortest path is gph.show() on the exported NetworkX graph:

import garphield as gph
import raphtory
graph = raphtory.Graph()
graph.add_edge(1, "alice", "bob", properties={"weight": 1.0})
graph.add_edge(2, "bob", "charlie", properties={"weight": 2.0})
view = graph.window(1, 10)
nx_graph = view.to_networkx(
include_property_history=False,
include_update_history=False,
)
view = gph.show(nx_graph, node_size="weight")

Disable include_property_history and include_update_history so attributes arrive as scalar values that Garphield can bind directly. With history enabled, values arrive as nested time/value structures that are valid data but unusable as visual encodings.

When the graph is produced outside a notebook, export to node-link JSON and open the file in Garphield:

import json
import networkx as nx
nx_graph = view.to_networkx(
include_property_history=False,
include_update_history=False,
)
with open("raphtory-window.json", "w", encoding="utf-8") as output:
json.dump(nx.node_link_data(nx_graph, edges="edges"), output)

Open raphtory-window.json with File > Open or pass its URL through the URL loading path.

Select the time range before exporting:

window = graph.window("2026-07-01", "2026-08-01")
snapshot = graph.at("2026-07-15")

Restrict to a layer or subgraph when the question concerns one relationship type:

focused = graph.window("2026-07-01", "2026-08-01").layer("messages")

Export one file per window, open the first in Garphield, capture a Story scene with the window’s dates as its title, then open the next file and capture another scene. Play or share the storyboard after all snapshots are captured.

See Audit and present for the storyboard workflow.