pygraphistry-visualization

PyGraphistry Visualization

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pygraphistry-visualization" with this command: npx skills add graphistry/graphistry-skills/graphistry-graphistry-skills-pygraphistry-visualization

PyGraphistry Visualization

Doc routing (local + canonical)

  • First route with ../pygraphistry/references/pygraphistry-readthedocs-toc.md .

  • Use ../pygraphistry/references/pygraphistry-readthedocs-top-level.tsv for section-level shortcuts.

  • Only scan ../pygraphistry/references/pygraphistry-readthedocs-sitemap.xml when a needed page is missing.

  • Use one batched discovery read before deep-page reads; avoid cat * and serial micro-reads.

  • Use local icon lookup notes from references/fa-icons.md .

  • In user-facing answers, prefer canonical https://pygraphistry.readthedocs.io/en/latest/... links.

Core pattern

g2 = ( # Keep a plain 'type' column on both nodes and edges for legend-friendly defaults g.bind(point_label='label', point_color='type', edge_color='type') .encode_point_color('type', categorical_mapping={'agent': '#3b82f6'}, default_mapping='#94a3b8') # Optional: default node sizing is often degree for exploratory passes .encode_point_size('degree') .settings(url_params={'play': 3000, 'info': True}) ) g2.plot()

External layout pattern

nodes_df contains x/y layout columns

g2 = graphistry.edges(edges_df, 'src', 'dst').nodes(nodes_df, 'id').bind(point_x='x', point_y='y').settings(url_params={'play': 0}) g2.plot()

URL parameters reference

Use settings(url_params={...}) to control visualization behavior. Full reference: https://hub.graphistry.com/docs/api/1/rest/url/#urloptions

Layout

Param Type Default Range Description

play

int 5000 0-10000 (0, 1000, 2000, 5000) Layout duration ms. 0=fixed

lockedX

bool false

Lock X axis (with bind(point_x=...) )

lockedY

bool false

Lock Y axis (with bind(point_y=...) )

lockedR

bool false

Lock radial position

linLog

bool false

Strong separation; good for <1000 nodes

scalingRatio

float 1.0 0.1-10 (0.5, 1, 2, 5) Expansion ratio. Combine with linLog

strongGravity

bool false

Compact layout with pull to center

dissuadeHubs

bool false

Reduce hub dominance in layout

gravity

float 1.0 0.1-10 (0.1, 1, 2, 10) Pull strength toward center

edgeInfluence

float 1.0 0-10 (0, 0.7, 1, 2, 5, 7) Edge weight impact on layout

precisionVsSpeed

float 1.0 0.1-10 (0.1, 1, 10) Higher=precise but slower

left/right/top/bottom

int auto

Manual camera bounds on load

Scene / Rendering

Param Type Default Range Description

pointSize

float 1.0 0.1-10 (0.3, 0.5, 1, 2, 3) Point size multiplier (not encoding)

pointOpacity

float 1.0 0-1 (0.3, 0.5, 0.8, 1) Node transparency

pointStrokeWidth

float 0 0-5 (0, 1, 2) Node border width

edgeCurvature

float 0 0-1 (0, 0.5, 1) Edge bending amount

edgeOpacity

float 1.0 0-1 (0.3, 0.5, 0.8, 1) Edge transparency

showArrows

bool true

Show edge direction arrows

neighborhoodHighlight

str both incoming/outgoing/both/node Hover highlight mode

neighborhoodHighlightHops

int 1 1-5 (1, 2, 3) Hops in hover highlight

Labels / Points of Interest

Param Type Default Range Description

showLabels

bool true

Toggle all label visibility

showLabelOnHover

bool true

Show labels only on hover

showPointsOfInterest

bool true

Highlight key nodes as POI

showPointsOfInterestLabel

bool true

Show labels on POI nodes

pointsOfInterestMax

int 5 0-100 (0, 5, 10, 20) Max POIs. 0=disable

shortenLabels

bool true

Truncate long labels

showLabelPropertiesOnHover

bool false

Show extra properties on hover

labelOpacity

float 1.0 0-1 (0.5, 0.8, 1) Label transparency

labelColor

str

hex no # (000000, FFFFFF) Label text color

labelBackground

str

hex no # (000000, FFFFFF) Label bg color

Note: URL params use hex without # . Python API (encode_* , palette ) uses # prefix.

UI Controls

Param Type Default Description

menu

bool true Show all menus

info

bool true Show graph size stats

showHistograms

bool true Show histogram panel

showInspector

bool true Show entity inspector

showCollections

bool false Show collections panel

Examples

Ring layout with strong separation for small graphs (<1000 nodes)

g2 = g.settings(url_params={'play': 3000, 'linLog': True, 'scalingRatio': 2.0})

Fixed position layout (external coordinates)

g2 = g.bind(point_x='x', point_y='y').settings(url_params={'play': 0, 'lockedX': True, 'lockedY': True})

Disable POI labels entirely

g2 = g.settings(url_params={'showLabels': False, 'pointsOfInterestMax': 0})

Larger points, more transparent edges

g2 = g.settings(url_params={'pointSize': 3.0, 'edgeOpacity': 0.3})

Minimal UI for embedding

g2 = g.settings(url_params={'menu': False, 'info': False, 'showHistograms': False, 'showInspector': False})

Icon/badge pattern

g2 = ( g.encode_point_icon('type', categorical_mapping={'person': 'user', 'org': 'building'}) .encode_point_badge('risk', categorical_mapping={'high': 'exclamation-triangle'}) ) g2.plot()

Use valid Font Awesome names and keep icon mappings category-driven by type . See references/fa-icons.md for lookup links and examples.

Continuous-color pattern (beyond categorical maps)

g2 = g.encode_edge_color('amount', palette=['#46327e', '#1fa187', '#fde724'], as_continuous=True) g2.plot()

Focused subgraph views (collection-like workflow)

Use GFQL slices to publish multiple focused views from one base graph

high_risk = g.gfql([...]).name('high-risk-slice') partner_flow = g.gfql([...]).name('partner-flow-slice') urls = [high_risk.plot(render=False), partner_flow.plot(render=False)]

Privacy-safe sharing pattern

graphistry.privacy(mode='private') plot_url = g.plot(render=False)

  • Use explicit graphistry.privacy(mode='private'|'organization'|'public') before plotting share links.

  • Do not treat plot() kwargs like as_files or memoize as privacy controls.

Common tasks

  • Encodings: encode_point_color , encode_edge_color , encode_point_size , encode_point_icon , encode_point_badge .

  • Layouts: runtime force layout settings, ring/GIB/modularity, graphviz/igraph/cugraph plugin layouts.

  • Static outputs: plot_static() for SVG/PNG and text engines like graphviz-dot /mermaid-code .

  • Sharing controls: graphistry.privacy(mode='private'|'organization'|'public') .

  • For advanced gradients, use palette=[...] with as_continuous=True on encode_point_color /encode_edge_color .

  • For large investigations, generate multiple focused GFQL slices instead of one overloaded plot.

Big-graph defaults

  • Filter and aggregate before plotting.

  • Keep only essential columns (drop large text blobs unless needed).

  • Use focused subgraphs (time slice, one-hop neighborhood, top-k signals).

  • Prefer plain type columns on both nodes and edges so legends and default category encodings stay stable.

  • Avoid dotted column names like node.type / edge.type ; prefer plain names.

  • Use native datetime types for time encodings and time-sliced comparisons.

Canonical docs

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pygraphistry-connectors

No summary provided by upstream source.

Repository SourceNeeds Review
General

pygraphistry-ai

No summary provided by upstream source.

Repository SourceNeeds Review
General

pygraphistry

No summary provided by upstream source.

Repository SourceNeeds Review