All Projects → pykello → racket-graphviz

pykello / racket-graphviz

Licence: BSD-3-Clause License
Library to enable using graphviz in Racket programs

Programming Languages

racket
414 projects

Projects that are alternatives of or similar to racket-graphviz

Flashx
FlashX is a collection of big data analytics tools that perform data analytics in the form of graphs and matrices.
Stars: ✭ 220 (+1000%)
Mutual labels:  graph
Nodeeditorwinforms
Node based user control / editor for Windows Forms
Stars: ✭ 232 (+1060%)
Mutual labels:  graph
P2p Graph
Real-time P2P network visualization with D3
Stars: ✭ 245 (+1125%)
Mutual labels:  graph
Ngraph.path
Path finding in a graph
Stars: ✭ 2,545 (+12625%)
Mutual labels:  graph
Euler
A distributed graph deep learning framework.
Stars: ✭ 2,701 (+13405%)
Mutual labels:  graph
Spectral Trajectory And Behavior Prediction
This is the code base for Trajectory and Driver Behavior Prediction in Autonomous Vehicles using Spectral Graph Theory
Stars: ✭ 236 (+1080%)
Mutual labels:  graph
Aaia
AWS Identity and Access Management Visualizer and Anomaly Finder
Stars: ✭ 218 (+990%)
Mutual labels:  graph
Graph Data Science
Source code for the Neo4j Graph Data Science library of graph algorithms.
Stars: ✭ 251 (+1155%)
Mutual labels:  graph
Multigraph transformer
transformer, multi-graph transformer, graph, graph classification, sketch recognition, sketch classification, free-hand sketch, official code of the paper "Multi-Graph Transformer for Free-Hand Sketch Recognition"
Stars: ✭ 231 (+1055%)
Mutual labels:  graph
Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+14635%)
Mutual labels:  graph
Charts
Simple, responsive, modern SVG Charts with zero dependencies
Stars: ✭ 14,112 (+70460%)
Mutual labels:  graph
Unreal Polygonal Map Gen
An Unreal Engine 4 implementation of the Polygonal Map Generator for generating islands found at http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Stars: ✭ 229 (+1045%)
Mutual labels:  graph
Graphnn
Training computational graph on top of structured data (string, graph, etc)
Stars: ✭ 235 (+1075%)
Mutual labels:  graph
Userline
Query and report user logons relations from MS Windows Security Events
Stars: ✭ 221 (+1005%)
Mutual labels:  graph
Astgcn
⚠️[Deprecated] no longer maintained, please use the code in https://github.com/guoshnBJTU/ASTGCN-r-pytorch
Stars: ✭ 246 (+1130%)
Mutual labels:  graph
Dependency Graph
A simple dependency graph for Node.js
Stars: ✭ 219 (+995%)
Mutual labels:  graph
Git Deps
git commit dependency analysis tool
Stars: ✭ 232 (+1060%)
Mutual labels:  graph
Chart.js
Simple HTML5 Charts using the <canvas> tag
Stars: ✭ 55,646 (+278130%)
Mutual labels:  graph
Clchart
A fast, simple and cross-platform(html5 react-native weex wechat-applet) stock chart library created using canvas.
Stars: ✭ 250 (+1150%)
Mutual labels:  graph
Msgraph Sdk Powershell
Powershell SDK for Microsoft Graph
Stars: ✭ 239 (+1095%)
Mutual labels:  graph

Racket GraphViz Integration

The goal of this library is to make composition of Racket Pict and Graphviz Diagrams possible.

The composition is made possible through:

  • You can use graphviz diagrams as normal picts
  • You can use any Pict as node shape of graphviz diagrams

For example, in the following program note that the shapes for nodes "c" and "f" and also the node with fish shape are racket shapes. Rest of the nodes use a shape provided by graphviz.

(digraph->pict
 (make-digraph
  `(["a" #:shape "diamond" #:fillcolor "lightgray" #:style "filled"]
    ["b" #:shape ,(cloud 60 30) #:label "c"]
    ["c" #:shape ,(standard-fish 100 50 #:open-mouth #t #:color "Chartreuse")
         #:label ""]
    "d"
    "a -> b -> c"
    "a -> d -> c"
    (subgraph "stdout" #:style "filled" #:fillcolor "cyan"
              (["f" #:shape ,(file-icon 50 60 "bisque")]
               "g"
               "f -> g"))
    "d -> g")))

As another example, take a look at dirtree.rkt which dynamically generates a directory tree.

Notice how dirtree.rkt has used make-vertex and make-edge functions:

...
(define root (make-vertex (path->string name) #:shape shape))
...
(make-edge root-node sub-node)
...

You can pass a list of vertex and edges to make-digraph to create a digraph, and use digraph->pict to convert it to a pict.

(define d (make-digraph (list v1 v2 (make-edge v1 v2))))
(digraph->pict d)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].