Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
027764a
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Aug 25, 2025
5222720
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Aug 27, 2025
13b1bf3
first commit of graph viz
cosh Sep 3, 2025
836f9fb
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Sep 3, 2025
4898a5d
Refine graph visualization overview by enhancing descriptions and con…
cosh Sep 12, 2025
1f45b8e
adds example 1 for KE
cosh Sep 12, 2025
7342243
KE graph doc improvement
cosh Sep 12, 2025
14f9aae
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Sep 12, 2025
ce9935f
adds interactive nodes actions
cosh Sep 15, 2025
e821127
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Sep 15, 2025
7f588cc
adds edge interactions
cosh Sep 16, 2025
96ba4f6
adds more layout options
cosh Sep 16, 2025
7ef028e
updated pics
cosh Sep 22, 2025
c2a2396
adds timeline information
cosh Sep 22, 2025
171e41e
adds known limitations section for graph function compatibility
cosh Sep 22, 2025
c72943b
adds known limitations for large graph performance in visualization
cosh Sep 22, 2025
a95eb99
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Sep 22, 2025
738d492
refines description and content for Graphistry visualization document…
cosh Sep 22, 2025
25b6b8b
refactors Graphistry documentation for clarity and conciseness
cosh Sep 22, 2025
d76b245
renamings
cosh Sep 22, 2025
29ff799
fixes
cosh Sep 22, 2025
a889afc
fixes
cosh Sep 22, 2025
95b4fa9
fixes
cosh Sep 22, 2025
37b6204
fixes
cosh Sep 22, 2025
58ad6a0
refactor: update graph visualization documentation and remove outdate…
cosh Sep 22, 2025
dec85fc
refactor: update graph visualization documentation to clarify approac…
cosh Sep 22, 2025
49aea55
fixes
cosh Oct 1, 2025
e1f125e
Changes for graphistry based viz
cosh Oct 2, 2025
6043261
refactor: reorder custom visualization entry in the table of contents…
cosh Oct 2, 2025
7a91c54
fixes
cosh Oct 2, 2025
fe6fe7b
Merge branch 'main' of https://github.com/MicrosoftDocs/dataexplorer-…
cosh Oct 7, 2025
c957710
Refactor Graphistry visualization section and remove outdated images
cosh Oct 10, 2025
214e3b7
Merge pull request #7081 from cosh/graph-viz
Carolyn135 Oct 10, 2025
27f4629
Merge pull request #7163 from MicrosoftDocs/main
learn-build-service-prod[bot] Oct 10, 2025
e0486e2
Merging changes synced from https://github.com/MicrosoftDocs/dataexpl…
Oct 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions data-explorer/kusto/query/graph-visualization-custom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: Custom Graph Visualization Approaches
description: Learn how to create custom graph visualizations from KQL graph data using Plotly and D3.js for tailored, interactive network visualizations.
ms.reviewer: royo
ms.topic: conceptual
ms.date: 09/22/2025
---

# Custom graph visualization approaches

> [!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)]

Custom graph visualizations enable you to create tailored, interactive network visualizations that meet specific domain requirements and user experience needs. When working with graph data from KQL queries, you can leverage powerful visualization libraries to build custom solutions that go beyond standard charting capabilities. Custom graph visualizations involve coding and offer many different options for implementation.

This article covers two primary approaches for creating custom graph visualizations: **Plotly-based visualizations** using Python integration, and **D3.js-based visualizations** using JavaScript. Both approaches provide complete control over the visualization appearance, interaction patterns, and integration with your applications.

## Plotly-based graph visualizations

[Plotly](https://plotly.com/) is a powerful visualization library that provides interactive graphing capabilities with excellent integration into KQL environments through the `evaluate python()` operator in Azure Data Explorer and Microsoft Fabric. You can create sophisticated graph visualizations directly from your query results using the `plotly_graph_fl()` function from the [functions library](../functions-library/plotly-graph-fl.md), or implement custom Python scripts with complete control over visualization logic, layouts, styling, and interactive behaviors using NetworkX for graph processing and Plotly for rendering, with support for performance optimization techniques, colorblind-friendly palettes, various layout algorithms, and dashboard integration.

## D3.js-based graph visualizations

[D3.js](https://d3js.org/) is a powerful JavaScript library for creating custom, interactive visualizations with complete control over the DOM. D3.js graph visualizations typically involve setting up an SVG container, creating force simulations for node positioning, rendering nodes and edges as scalable vector graphics, and implementing interactive behaviors like drag, zoom, and hover effects. The library provides specialized layouts for hierarchical data structures, dynamic filtering and search capabilities, smooth zooming and panning, and supports integration with KQL graph data by exporting query results using [`graph-to-table`](graph-to-table-operator.md) operators and formatting the data as JSON structures compatible with D3.js requirements.

## Related content

- [plotly_graph_fl() function](../functions-library/plotly-graph-fl.md)
- [Plotly (preview)](visualization-plotly.md)
- [Graph semantics overview](graph-semantics-overview.md)
- [Graph operators](graph-operators.md)
- [D3.js documentation](https://d3js.org/)
24 changes: 24 additions & 0 deletions data-explorer/kusto/query/graph-visualization-graphistry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Graph Visualization with Graphistry
description: Overview of Graphistry integration for scalable GPU-accelerated KQL graph visualization.
ms.reviewer: royo
ms.topic: conceptual
ms.date: 10/01/2025
---

# Graph visualization with Graphistry

> [!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)]

Graphistry adds server-side GPU layout and filtering on top of KQL graph semantics for iterative exploration of large or dense connected data: heavy parallel layout/clustering runs on a managed GPU, only light render data streams to the browser for consistent responsiveness across devices, enabling rapid refine–explore cycles on focused KQL results while preserving governance (deploy in your subscription, limit exported attributes, keep stable identifiers, filter early, iterate as needed, and share live views without producing static exports).

Graphistry can visualize graphs such as the BloodHound Entra ID graph from the [graph sample data](graph-sample-data.md#bloodhound-entra-dataset), allowing you to see the entirety of the graph structure in a zoomed-out view and zoom in to examine specific relationship patterns and node details.

Deploy Graphistry Core in your Azure subscription (Azure Marketplace) so GPU processing stays in-boundary. See the [integration blog](https://www.graphistry.com/blog/azure-data-explorer-kusto-graph-visual-exploration) and the concise [demo notebook](https://pygraphistry.readthedocs.io/en/latest/demos/demos_databases_apis/microsoft/kusto/graphistry_ADX_kusto_demo.html) for a hands-on sample.

## Related content

* [Graph sample data](graph-sample-data.md)
* [Graph operators](graph-operators.md)
* [Graph semantics overview](graph-semantics-overview.md)
* [Graph best practices](graph-best-practices.md)
Loading