All Projects → vfrz → DotNetGraph

vfrz / DotNetGraph

Licence: MIT license
Create GraphViz DOT graph with .NET / C#

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to DotNetGraph

GiGraph
Simple yet versatile library for generating graphs in the DOT language
Stars: ✭ 25 (-56.14%)
Mutual labels:  graphviz, dot, netstandard, graphviz-dot, graphviz-dot-language, netstandard20
Vortice.Vulkan
Cross platform .NET bindings for Vulkan, VMA, SPIRV-Cross and shaderc
Stars: ✭ 172 (+201.75%)
Mutual labels:  dotnetcore, netstandard, netstandard20
poddotify
A command line tool: from a Podfile.lock to an image.
Stars: ✭ 79 (+38.6%)
Mutual labels:  graphviz, graphviz-dot, graphviz-dot-language
Cosmos.Identity
A Cosmos storage provider for ASP.NET Core Identity.
Stars: ✭ 26 (-54.39%)
Mutual labels:  dotnetcore, netcore, netstandard
Networker
A simple to use TCP and UDP networking library for .NET. Compatible with Unity.
Stars: ✭ 408 (+615.79%)
Mutual labels:  dotnetcore, netcore, netstandard
Nlog
NLog - Advanced and Structured Logging for Various .NET Platforms
Stars: ✭ 5,296 (+9191.23%)
Mutual labels:  netcore, netstandard, netstandard20
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (+96.49%)
Mutual labels:  dotnetcore, netcore, netstandard
redot
Graphviz dot file processor powered by plugins based on @unifiedjs
Stars: ✭ 60 (+5.26%)
Mutual labels:  graphviz, dot, graphviz-dot
Viz.js
A hack to put Graphviz on the web.
Stars: ✭ 3,602 (+6219.3%)
Mutual labels:  graphviz, dot
Vortice.Mathematics
Cross platform .NET math library.
Stars: ✭ 46 (-19.3%)
Mutual labels:  netstandard, netstandard20
Autofac.Configuration
Configuration support for Autofac IoC
Stars: ✭ 35 (-38.6%)
Mutual labels:  netcore, netstandard
vscode-graphviz
This extension provides GraphViz (dot) language support for VS Code.
Stars: ✭ 21 (-63.16%)
Mutual labels:  graphviz, dot
XamarinFormsPinView
PIN keyboard for Xamarin.Forms.
Stars: ✭ 83 (+45.61%)
Mutual labels:  netstandard, netstandard20
SharpAudio
Audio playback/capturing engine for C#
Stars: ✭ 139 (+143.86%)
Mutual labels:  netcore, netstandard
doteur
Tool to automate the visualisation of SQL schemas from a SQL file
Stars: ✭ 80 (+40.35%)
Mutual labels:  graphviz, dot
aspnetcore-authentication-apikey
Easy to use and very light weight Microsoft style API Key Authentication Implementation for ASP.NET Core. It can be setup so that it can accept API Key in Header, Authorization Header, QueryParams or HeaderOrQueryParams.
Stars: ✭ 215 (+277.19%)
Mutual labels:  netstandard, netstandard20
craftql
A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format
Stars: ✭ 75 (+31.58%)
Mutual labels:  graphviz, graphviz-dot
gen-callgraph
gen-callgraph is a script to generate call graph from elf binary
Stars: ✭ 47 (-17.54%)
Mutual labels:  dot, graphviz-dot
aliyun-openapi-sdk-net-core
aliyun open api sdk for .net core 2.0
Stars: ✭ 17 (-70.18%)
Mutual labels:  dotnetcore, netcore
rel
command line tool for managing personal graphs of anything and writing them to dot
Stars: ✭ 51 (-10.53%)
Mutual labels:  graphviz, dot

DotNetGraph

Create GraphViz DOT graph with .NET

Available on NuGet: #

Compatible with .NET Standard 2.0 and higher

Documentation

Create a graph (DotGraph)

var graph = new DotGraph("MyGraph");

var directedGraph = new DotGraph("MyDirectedGraph", true);

Create and add a node (DotNode)

var myNode = new DotNode("MyNode")
{
    Shape = DotNodeShape.Ellipse,
    Label = "My node!",
    FillColor = Color.Coral,
    FontColor = Color.Black,
    Style = DotNodeStyle.Dotted,
    Width = 0.5f,
    Height = 0.5f,
    PenWidth = 1.5f
};

// Add the node to the graph
graph.Elements.Add(myNode);

Create and add an edge (DotEdge)

// Create an edge with identifiers
var myEdge = new DotEdge("myNode1", "myNode2");

// Create an edge with nodes and attributes
var myEdge = new DotEdge(myNode1, myNode2)
{
    ArrowHead = DotEdgeArrowType.Box,
    ArrowTail = DotEdgeArrowType.Diamond,
    Color = Color.Red,
    FontColor = Color.Black,
    Label = "My edge!",
    Style = DotEdgeStyle.Dashed,
    PenWidth = 1.5f
};

// Add the edge to the graph
graph.Elements.Add(myEdge);

Create a subgraph / cluster

// Subgraph identifier need to start with "cluster" to be identified as a cluster
var mySubGraph = new DotSubGraph("cluster_0");

// Create a subgraph with attributes (only used for cluster)
var mySubGraph = new DotSubGraph("cluster_0")
{
    Color = Color.Red,
    Style = DotSubGraphStyle.Dashed,
    Label = "My subgraph!"
};

// Add node, edge, subgraph
subGraph.Elements.Add(myNode);
subGraph.Elements.Add(myEdge);
subGraph.Elements.Add(mySubGraph2);

// Add subgraph to main graph
graph.Elements.Add(mySubGraph);

Compile to DOT format

// Non indented version
var dot = graph.Compile();
// Indented version
var dot = graph.Compile(true);

// Save it to a file
File.WriteAllText("myFile.dot", dot);
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].