TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Graphviz: Open-source graph visualization software

389 pointsby davesailerover 3 years ago

56 comments

AceJohnny2over 3 years ago
The `gvpr` tool in graphviz deserves more recognition.<p>Graphviz, at its core, is a simple graph description language (DOT), which allows <i>progressive enhancement</i>, and a bunch of auto-layout tools where some double as renderers.<p>The double-duty of the layout&#x2F;renderers masks GraphViz&#x27;s true power, which is that you can create a pipeline modifying your graph source (confusingly referred to as &#x27;.dot&#x27; files), progressively adding attributes.<p>This is where gvpr comes in. While most are familiar with GV&#x27;s all-in-one layout+rendering tools like `dot` or `neato`, gvpr is a generic Awk-like programming tool that iterates over nodes and edges. With it, you can implement any layout algorithm you like (or not!), to specify part or all of the attributes of your graph (like positioning and style), to then be rendered using `dot` to the format of your choice.
评论 #29973453 未加载
评论 #29971842 未加载
paphillipsover 3 years ago
I&#x27;ve used GraphViz a number of times and highly recommend it as a standard tool on your belt. Having a stand-alone executable that can export to SVG is great.<p>The most complex thing I&#x27;ve done with it [1]: a tool (MIT-license) that builds diagrams of the data and addressing pipeline for a DSP processor, and lets one &#x27;scrub through&#x27; the assembler code frame by frame and see the values propagate through the blocks.<p>Also PlantUML [2] uses it for most diagrams.<p>Getting layout and positioning the way you want can be tricky but is usually achievable with patience and hidden objects.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;paphillips&#x2F;DFB" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;paphillips&#x2F;DFB</a> [2] <a href="https:&#x2F;&#x2F;plantuml.com&#x2F;graphviz-dot" rel="nofollow">https:&#x2F;&#x2F;plantuml.com&#x2F;graphviz-dot</a>
评论 #29970211 未加载
评论 #29977867 未加载
评论 #29973509 未加载
nyellinover 3 years ago
Here are some cool things I&#x27;ve done recently with graphviz:<p>1. Draw &quot;sketch&quot; style graphs using <a href="https:&#x2F;&#x2F;sketchviz.com&#x2F;new" rel="nofollow">https:&#x2F;&#x2F;sketchviz.com&#x2F;new</a><p>2. Draw graphs of memory usage in golang programs (using pprof): <a href="https:&#x2F;&#x2F;graphviz.org&#x2F;Gallery&#x2F;directed&#x2F;pprof.html" rel="nofollow">https:&#x2F;&#x2F;graphviz.org&#x2F;Gallery&#x2F;directed&#x2F;pprof.html</a><p>3. Embed graphviz into Sphinx docs (shameless self-promotion: <a href="https:&#x2F;&#x2F;docs.robusta.dev&#x2F;master&#x2F;catalog&#x2F;triggers&#x2F;index.html#trigger-hierarchy" rel="nofollow">https:&#x2F;&#x2F;docs.robusta.dev&#x2F;master&#x2F;catalog&#x2F;triggers&#x2F;index.html#...</a>)
评论 #29966838 未加载
评论 #29970575 未加载
评论 #29969861 未加载
评论 #29966663 未加载
评论 #29967239 未加载
mbostockover 3 years ago
I love Graphviz! It’s in the Observable standard library as the dot tagged template literal, powered by Viz.js.<p><a href="https:&#x2F;&#x2F;observablehq.com&#x2F;@observablehq&#x2F;dot" rel="nofollow">https:&#x2F;&#x2F;observablehq.com&#x2F;@observablehq&#x2F;dot</a><p>Here’s a recent example where I used it to figure out why certain dependencies are in my node_modules:<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;mbostock&#x2F;status&#x2F;1479693504511053824" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;mbostock&#x2F;status&#x2F;1479693504511053824</a>
评论 #29973999 未加载
评论 #29970697 未加载
motohagiographyover 3 years ago
Graphviz is an amazing tool, it has just suffered from being cloistered to technologists whose jobs aren&#x27;t to solve the kinds of problems it is specifically adapted for. I use graphs in security and privacy quite a bit, and even built the tech for a hopeful security platform using a graph back end. They yield the fastest path through complex problems, and I use them to do in a couple of hours what typically would take client staff months.<p>They&#x27;re really compelling but oddly unpopular.<p>Imo, they&#x27;re useful for one-off pattern discovery, and they&#x27;re most valuable for finding single or a few exceptions and outliers in normalized data, and you need to be in an environment where there are asymmetric returns on finding those. Surveillance seems to be their default use case, with open ended scientific research a close second. This comes up with graph based recommendation engines, which are essentially a surveillance&#x2F;marketing product based on preferences. Most businesses aren&#x27;t based on discovery of anything other than customers for a transaction they already have.<p>These aren&#x27;t problems engineers typically solve, which are more about scaling and optimizing, they&#x27;re more marketing and sales problems, where you&#x27;re looking for exceptions and opportunities. (security and privacy are the complementary antithesis of these) A graph based product (imo) is ideal for product marketing analysts optimizing for customer preferences and discovery.<p>From a product perspective, graphs are analogous to ML, where you&#x27;d use a clustering algorithm on loosely structured data to yield categories, comparisons, and implied relationships, whereas a graph yields the same thing over the structured normalized data you can feed into it once you have imagined an ontology to fit it.
评论 #29967882 未加载
评论 #29970405 未加载
enter-hakenover 3 years ago
I use graphviz to get a quick postgresql schema overview (good for small to medium databases)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;enter-haken&#x2F;schema" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;enter-haken&#x2F;schema</a>
评论 #29973580 未加载
评论 #29971328 未加载
评论 #29967703 未加载
zoomablemindover 3 years ago
Another graphing tool is Pikchr (<a href="https:&#x2F;&#x2F;pikchr.org" rel="nofollow">https:&#x2F;&#x2F;pikchr.org</a>) from the creator of SQLite; actually the SQLite doc SQL-statements diagrams were (re)done using the Pikchr. It&#x27;s some kind of extension of PIC language.<p>I&#x27;m not very proficient with graphing, so can&#x27;t compare it to Graphviz, but a few examples I tried were relatively easy.
ggerganovover 3 years ago
For the ASCII lovers, I made this simple web page to help convert dot to text diagrams:<p><a href="https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com" rel="nofollow">https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com</a><p>It&#x27;s useful to embed diagrams directly in source code for example.<p>Here is a sample [0]:<p><pre><code> 0.6 ┌─────────────────────────┐ ▼ │ ┌───┐ 0.8 ┌───┐ 0.1 ┌───┐ 0.7 ┌───┐ 0.2 ┌───┐ │ d │ ─────▶ │ │ ◀───── │ e │ ─────▶ │ a │ ─────▶ │ b │ └───┘ │ c │ └───┘ └───┘ └───┘ │ │ 0.4 │ │ │ ◀──────────────────────────────────┘ └───┘ </code></pre> And a more complex example from a project of mine [1]:<p><pre><code> ┌─────────────┐ │ @tweet2doom │ │ │ │ ROOT │ ◀─────┐ └─────────────┘ │ ▲ │ │ │ │ │ ┌─────────────┐ ┌─────────────────┐ │ @player1 │ │ @player2 │ │ │ │ │ │ &#x2F;play 50-u │ │ &#x2F;play 30-l,50-f │ └─────────────┘ └─────────────────┘ ▲ ▲ │ │ │ │ ┌─────────────┐ ┌─────────────────┐ │ @tweet2doom │ │ @tweet2doom │ │ │ │ │ │ Video │ │ Video │ │ │ │ │ │ Start: 1 │ │ Start: 1 │ │ End:50 │ │ End:80 │ └─────────────┘ └─────────────────┘ ▲ │ │ ┌─────────────┐ ┌─────────────────┐ │ @tweet2doom │ │ │ │ │ │ @player2 │ │ Video │ │ │ │ │ │ &#x2F;play 30-l │ │ Start: 80 │ │ │ │ End:110 │ ──▶ │ │ └─────────────┘ └─────────────────┘ </code></pre> [0] <a href="https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com&#x2F;?src_hash=476410d3" rel="nofollow">https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com&#x2F;?src_hash=476410d3</a><p>[1] <a href="https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com&#x2F;?src_hash=1ee7dcfe" rel="nofollow">https:&#x2F;&#x2F;dot-to-ascii.ggerganov.com&#x2F;?src_hash=1ee7dcfe</a>
评论 #29973598 未加载
评论 #29971006 未加载
评论 #29972619 未加载
评论 #29971001 未加载
评论 #29971613 未加载
karlicossover 3 years ago
Graphviz is awesome!<p>Here are a couple of my diagrams:<p><a href="https:&#x2F;&#x2F;beepb00p.xyz&#x2F;blog-graph.html" rel="nofollow">https:&#x2F;&#x2F;beepb00p.xyz&#x2F;blog-graph.html</a> -- graph of my blog pages with tags&#x2F;connections between posts, generated with a DSL-ish python script <a href="https:&#x2F;&#x2F;github.com&#x2F;karlicoss&#x2F;beepb00p&#x2F;blob&#x2F;master&#x2F;misc&#x2F;index.py" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;karlicoss&#x2F;beepb00p&#x2F;blob&#x2F;master&#x2F;misc&#x2F;index...</a><p><a href="https:&#x2F;&#x2F;beepb00p.xyz&#x2F;myinfra.html" rel="nofollow">https:&#x2F;&#x2F;beepb00p.xyz&#x2F;myinfra.html</a> -- map of my personal data &amp; infrastructure (discussed a year ago <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26269832" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26269832</a> ). Also a similar DSL <a href="https:&#x2F;&#x2F;github.com&#x2F;karlicoss&#x2F;myinfra&#x2F;blob&#x2F;master&#x2F;generate.py" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;karlicoss&#x2F;myinfra&#x2F;blob&#x2F;master&#x2F;generate.py</a><p>The main downside for me is that sometimes it gets the positioning wrong, and you can see how it can be easily fixed, but it&#x27;s hard to convince graphviz to actually do so. Basically I&#x27;d love a tool where I can do 10% of positioning manually and let the rest be constraint based like in graphviz.
评论 #29968568 未加载
triggercutover 3 years ago
Graphviz has saved my bacon so many times throughout my career. Not just for visualising constraints and dependencies in planning and scheduling (construction, not computing) but in so many other areas.<p>Best example was for fabrication of a large subsea structure. Often, these critical assets have material traceability requirements on-par with space exploration, producing thousands of pages of certificates and documentation along the way.<p>I.e. you need to prove and assure the provenance of every piece of material sitting on the 1km down on the ocean floor back to the assay report of the soup in the ladle at the forge when it was formed, and everything in between; material certificates, design specs, third party testing, mother plate to material stock to final cut part identification, and all the third-party witnessing and assurance along the way. Easy for small parts but cumbersome for 60tn structures with thousands of parts and welds.<p>When the requirement is 100% QA&#x2F;QC coverage, linking IDs to certificates and other documents in each part of the chain meant we could easily visualise things and look for rogue elements like child parts pertaining to be from two seperate mother plates, or destructive testing coverage for all materials.<p>Not how it&#x27;s usually done but it was a useful tool for communicating to other not so technical stakeholders and helping some on the project sleep easier. :-)
lwerdnaover 3 years ago
I use graphviz probably weekly and it&#x27;s actually become a bit of a productivity hack. If there&#x27;s something I don&#x27;t want to do, I can often convince myself to just <i>DRAW</i> it instead, usually with graphviz. Once drawn, the actual task is easier, both because the barrier of starting is overcome, and because the drawing is useful in the task.<p>For example, I had to parse DWARF debug info recently to scrape type information, something I dreaded doing. Instead of diving into the DWARF specs, I set out to adapt one of the pyelftools [1] examples to produce a .dot file and graphed it with dot, producing [2].<p>Now looking at the picture, it&#x27;s nearly obvious how functions and structs and types are stored. The rest is trivia (How do I access this attribute? How do I iterate over a DIE&#x27;s children?).<p>Here&#x27;s a simple alias so that anything that writes to &#x2F;tmp&#x2F;tmp.dot can be viewed with a single command:<p><pre><code> alias graph=&#x27;dot -Tpng &#x2F;tmp&#x2F;tmp.dot -o &#x2F;tmp&#x2F;tmp.png &amp;&amp; open &#x2F;tmp&#x2F;tmp.png&#x27; </code></pre> [1] <a href="https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;pyelftools&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;pyelftools&#x2F;</a><p>[2] <a href="http:&#x2F;&#x2F;tmp2.dreamhosters.com&#x2F;draw-dwarf-graph.svg" rel="nofollow">http:&#x2F;&#x2F;tmp2.dreamhosters.com&#x2F;draw-dwarf-graph.svg</a>
评论 #29975084 未加载
dangover 3 years ago
Past related threads:<p><i>How Graphviz thinks the USA is laid out</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25611053" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25611053</a> - Jan 2021 (80 comments)<p><i>Create diagrams with code using Graphviz</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23475225" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23475225</a> - June 2020 (211 comments)<p><i>Graphviz – Graph Visualization Software</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18797932" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18797932</a> - Dec 2018 (3 comments)<p><i>Show HN: Project Management as Code with Graphviz</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15950325" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15950325</a> - Dec 2017 (64 comments)<p><i>A Quick Introduction to Graphviz</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15324883" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15324883</a> - Sept 2017 (44 comments)<p><i>A Technique for Drawing Directed Graphs (1993) [pdf]</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14568180" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14568180</a> - June 2017 (11 comments)<p><i>What happened to GraphViz?</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11265188" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11265188</a> - March 2016 (2 comments)<p><i>Ask HN: What is your favorite application of Graphviz?</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=790668" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=790668</a> - Aug 2009 (8 comments)<p>There have been others, of course, but these seem to be the ones most focused on Graphviz itself.
mLubyover 3 years ago
GraphViz is great, like Markdown. I recommend <a href="https:&#x2F;&#x2F;edotor.net" rel="nofollow">https:&#x2F;&#x2F;edotor.net</a> for online use:<p><pre><code> 1. No set-up, no accounts&#x2F;registration. 2. Free, no ads. 3. Simple, pleasant UI with variable&#x2F;keyword autocompletion and even multi-cursor find&#x2F;replace! 4. Your graph is saved in the URL so sharing the link lets others play with a copy of your graph. I usually link-shorten the URLs since they&#x27;re long: </code></pre> <a href="https:&#x2F;&#x2F;bit.ly&#x2F;edotor-example-1" rel="nofollow">https:&#x2F;&#x2F;bit.ly&#x2F;edotor-example-1</a> <a href="https:&#x2F;&#x2F;bit.ly&#x2F;edotor-example-2" rel="nofollow">https:&#x2F;&#x2F;bit.ly&#x2F;edotor-example-2</a>
franga2000over 3 years ago
The biggest thing that makes me keep going back to graphviz despite there being nicer libraries available is that because it uses a really simple markup language instead of code or complex objects, I can juts put a handful of print&#x2F;write statements into any program I want to analyse and pipe it to graphviz to give me nice graphical overview of what&#x27;s going where.<p>I&#x27;ve used it to visualise&#x2F;debug everything from web scrapers in Python to directory scanning in Bash to proper graph algorithms in Java. Every time with no library installation or anything, just simple prints to a stream&#x2F;file and perhaps a system() call at the end if I&#x27;m running it often enough.
thangalinover 3 years ago
My text editor, KeenWrite[0] renders Graphviz diagrams in near real-time. KeenWrite extends the functionality a little by allowing the use of variables inside the diagrams. In the example diagram[1], the 350 value stems from a variable and its value is shown near the top.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;DaveJarvis&#x2F;keenwrite" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;DaveJarvis&#x2F;keenwrite</a><p>[1]: <a href="https:&#x2F;&#x2F;i.ibb.co&#x2F;CVfsJDh&#x2F;hacker-news.png" rel="nofollow">https:&#x2F;&#x2F;i.ibb.co&#x2F;CVfsJDh&#x2F;hacker-news.png</a>
dzyanisover 3 years ago
I used it for visualization on my project <a href="https:&#x2F;&#x2F;github.com&#x2F;srce&#x2F;roadmap&#x2F;blob&#x2F;master&#x2F;stacks&#x2F;java&#x2F;data&#x2F;roadmap.svg" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;srce&#x2F;roadmap&#x2F;blob&#x2F;master&#x2F;stacks&#x2F;java&#x2F;data...</a><p><i>.XML -&gt; Python script -&gt; </i>.DOT -&gt; Graphviz -&gt; *.SVG<p>It&#x27;s very useful and probably the best example of using DOT language, unfortunately.
dddddavidddddover 3 years ago
Graphviz made it really easy for me to plot dependencies in Go data structures! After I put together a lexer, Graphviz took care of all the difficult work of making sense of the data: <a href="https:&#x2F;&#x2F;github.com&#x2F;davidschlachter&#x2F;embedded-struct-visualizer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;davidschlachter&#x2F;embedded-struct-visualize...</a>
nsajkoover 3 years ago
A fast interactive 3D alternative for visualizing large graphs is Graphia: <a href="https:&#x2F;&#x2F;github.com&#x2F;graphia-app&#x2F;graphia" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;graphia-app&#x2F;graphia</a> <a href="https:&#x2F;&#x2F;graphia.app" rel="nofollow">https:&#x2F;&#x2F;graphia.app</a> However, it&#x27;s currently suffering from the Qt switch from 5 to 6.<p>Regarding Graphviz itself, I wonder why is there no special layout logic for planar graphs? They can be recognized and embedded on the plane in linear time without intersecting edges, so it would be very nice if some of the Graphviz tools actually did that.<p>A recent set of minimal graph coloring Graphviz visualizations of mine: <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;nsajko&#x2F;example_optimally_colored_graphs" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;nsajko&#x2F;example_optimally_colored_graphs</a>
tepitoperritoover 3 years ago
If you use Django, installing django-extensions[0] will add a management command to produce a &quot;dot&quot; file for the apps&#x2F;models of your choice[1].<p>It&#x27;s pretty handy to get a rough overview of a new project or to use in docs.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;django-extensions&#x2F;django-extensions" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;django-extensions&#x2F;django-extensions</a><p>[1] <a href="https:&#x2F;&#x2F;django-extensions.readthedocs.io&#x2F;en&#x2F;latest&#x2F;graph_models.html" rel="nofollow">https:&#x2F;&#x2F;django-extensions.readthedocs.io&#x2F;en&#x2F;latest&#x2F;graph_mod...</a><p>Edit: typo
indentitover 3 years ago
I&#x27;ve never been that happy with the output from any of the different graphviz engines. I&#x27;d like to see a UI graph editing tool which can import and export .dot format, but also allows manually moving nodes (which I guess wouldn&#x27;t get exported unless arbitrary metadata is supported), and ofc exports to svg. Maybe there&#x27;s already something similar I haven&#x27;t stumbled across yet?<p>I guess my use case is mainly swimlanes and places where nodes don&#x27;t have to have the same rank.
评论 #29968125 未加载
评论 #29969622 未加载
tonerowover 3 years ago
Way fewer features but probably easier to use ~&gt; <a href="https:&#x2F;&#x2F;flowchart.fun" rel="nofollow">https:&#x2F;&#x2F;flowchart.fun</a><p>Exports to SVG, PNG, JPG
评论 #29969808 未加载
aaronaxover 3 years ago
Graphviz was excellent for documenting my sailboat&#x27;s electrical, plumbing, and data networks: <a href="https:&#x2F;&#x2F;github.com&#x2F;aaronaxvig&#x2F;hunter-376-docs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aaronaxvig&#x2F;hunter-376-docs</a><p>Odds are slim that its future owner will have the skills to work with such a resource. But I did leave a couple printouts on the boat before leaving it!
ncc-erikover 3 years ago
I maintain an open-source project [1] that uses graphs to model data. I wanted to make my project as accessible as possible, so Graphviz was perfect since it&#x27;s dead-simple to install and use on all major OS platforms.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;nccgroup&#x2F;PMapper" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nccgroup&#x2F;PMapper</a>
omegoteover 3 years ago
I&#x27;ve used Graphviz for many years and my main gripe with it is the lack of customization. Yes, there&#x27;s &quot;some&quot; customization, but there&#x27;s a point (not too far from the initial style) where, if you don&#x27;t like the output, you&#x27;re out of luck and might as well redraw it using draw.io or some other WYSIWYG editor.
评论 #29970481 未加载
graphvizover 3 years ago
Author(s) here. Ask us anything.
评论 #29983134 未加载
评论 #29976611 未加载
carlhjerpeover 3 years ago
FRA, the Swedish government agency for radio communications posts some riddles every year around Christmas. With one you got a couple of phone call logs and were asked questions about who was who in a terrorist group.<p>Plotted the calls with graphviz and the questions were instantly trivial to solve. Great tool with many applications.
technimadover 3 years ago
Many moons ago I created all graphs in the LPIC2 exam prep book [1] using graphviz. The book is open sourced now, and all dot files are preserved in the accompanying repo [2].<p>One thing I learned creating these graphs was that with some tinkering you have quite a lot of control on how the result will look, without littering the semantic in the source file with a lot of markup.<p>I choose graphviz because the dot notation can easily be checked into source control. It is also easy to create reproducible results using a makefile.<p>[1] <a href="https:&#x2F;&#x2F;lpic2book.github.io&#x2F;src&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lpic2book.github.io&#x2F;src&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;lpic2book&#x2F;src&#x2F;tree&#x2F;main&#x2F;docs&#x2F;images" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lpic2book&#x2F;src&#x2F;tree&#x2F;main&#x2F;docs&#x2F;images</a>
jonstewartover 3 years ago
My team uses a succinct graphviz dot file to note the dependencies between different git repositories. This is then used by the build system to figure out what needs to be rebuilt. There are lots of other ways to skin this cat, this is just the method we chose, and it&#x27;s oddly pleasing.
GuB-42over 3 years ago
One of my favorite applications of graphviz <a href="https:&#x2F;&#x2F;anidb.net&#x2F;anime&#x2F;715&#x2F;relation&#x2F;graph" rel="nofollow">https:&#x2F;&#x2F;anidb.net&#x2F;anime&#x2F;715&#x2F;relation&#x2F;graph</a><p>It is a great tool to have, it makes drawing complex diagrams manageable.
steveroushover 3 years ago
If you have Graphviz &quot;how do I do...&quot; questions, try the forum (<a href="https:&#x2F;&#x2F;forum.graphviz.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;forum.graphviz.org&#x2F;</a>) or stackoverflow (<a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;stackoverflow.com&#x2F;</a>). If you have bug fix or enhancement requests, try <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;graphviz&#x2F;graphviz&#x2F;-&#x2F;issues?scope=all&amp;state=opened" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;graphviz&#x2F;graphviz&#x2F;-&#x2F;issues?scope=all&amp;stat...</a>
tandavover 3 years ago
btw python wrapper is awesome:<p><a href="https:&#x2F;&#x2F;graphviz.readthedocs.io" rel="nofollow">https:&#x2F;&#x2F;graphviz.readthedocs.io</a>
评论 #29967318 未加载
jodrellblankover 3 years ago
Related:<p>GraphVizio[1] &quot;an addin for Microsoft Visio which allows you to layout Visio diagrams using the renowned Graphviz algorithms developed by AT&amp;T research laboratories.&quot; - <a href="https:&#x2F;&#x2F;www.calvert.ch&#x2F;graphvizio&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.calvert.ch&#x2F;graphvizio&#x2F;</a><p>PSGraph[2] a PowerShell wrapper &#x2F; DSL for GraphViz and dot language. - <a href="https:&#x2F;&#x2F;powershellexplained.com&#x2F;2017-01-30-Powershell-PSGraph&#x2F;" rel="nofollow">https:&#x2F;&#x2F;powershellexplained.com&#x2F;2017-01-30-Powershell-PSGrap...</a>
graderjsover 3 years ago
I used Graphviz years ago to generate diagrams for NLP structures, and other visualizations. It was the only thing that could do what I needed. I ended up moving to Processing&#x2F;P5 to create &quot;spring physics&quot; interactive graphs, then wrote my own eigenvector embedding visualization that could project into 3D space and had a moveable camera so you could fly around with WASD and mouse. Cool stuff! Graph visualization and 3d graphics was a fun rabbit hole
评论 #29968779 未加载
danielodievichover 3 years ago
I love graphviz!!!<p>Used it as a helper in my first project at Snowflake (role hierarchy layout) <a href="https:&#x2F;&#x2F;github.com&#x2F;Snowflake-Labs&#x2F;sfgrantreport" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Snowflake-Labs&#x2F;sfgrantreport</a> and won a nice hacking award for it. Then the product saw it and folded what I made into the main UI.<p>Huge props to the graphviz for making it easy to draw my ideas from whiteboard into svg&#x2F;pdf&#x2F;png!
madphilosopherover 3 years ago
I use tinc VPN [0] to connect a bunch of separated LANs together, and a built-in configuration directive<p><pre><code> GraphDumpFile = &#x2F;etc&#x2F;tinc&#x2F;network&#x2F;graph.viz </code></pre> will generate a real-time network graph using the Graphviz DOT language. It&#x27;s a cool feature that I find quite useful.<p>[0] <a href="https:&#x2F;&#x2F;tinc-vpn.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tinc-vpn.org&#x2F;</a>
elfchiefover 3 years ago
Related, does anyone know if there are any good tools for learning things <i>about</i> a graph (not necessarily a <i>graphviz</i> graph, but that&#x27;d be fine!)? Things like... take a graph from me and identify all the &quot;islands&quot; that don&#x27;t connect to each other? Or to find the shortest &#x27;path&#x27; from point A to point B in a graph?
shiryelover 3 years ago
I love using Graphviz to document projects, because its just a text file that I can keep with the project on git.<p>I also used it to make a small tool to generate the relationships of Elixir&#x27;s modules: <a href="https:&#x2F;&#x2F;github.com&#x2F;shiryel&#x2F;graphme" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;shiryel&#x2F;graphme</a>
dylanowenover 3 years ago
Graphviz is one of my favorite tools. I use it for most of my diagraming <a href="https:&#x2F;&#x2F;github.com&#x2F;dylanowen&#x2F;mdbook-graphviz" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dylanowen&#x2F;mdbook-graphviz</a> and I use it as debugging output when I&#x27;m working through graph problems.
评论 #29967417 未加载
undershirtover 3 years ago
Did anyone see the new pathing algorithm for connecting graph nodes that made some rounds on twitter? It looked way better than a normal force-directed graph. I can’t remember what it was exactly, and have lost the reference, but it was a side effect of solving what looked like a traffic problem.
评论 #29986026 未加载
评论 #29971659 未加载
justsomehnguyover 3 years ago
PSGraph is a PowerShell module to dynamically generate dot files.<p>I used it (with a various degree of success) to plot some diagrams for my personal usage.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;KevinMarquette&#x2F;PSGraph" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;KevinMarquette&#x2F;PSGraph</a>
soheilover 3 years ago
At what point does one say maybe a static svg isn&#x27;t the right way to display that much complexity [0]?<p>[0] <a href="https:&#x2F;&#x2F;graphviz.org&#x2F;Gallery&#x2F;twopi&#x2F;twopi2.svg" rel="nofollow">https:&#x2F;&#x2F;graphviz.org&#x2F;Gallery&#x2F;twopi&#x2F;twopi2.svg</a>
l0b0over 3 years ago
Graphviz is one of my favourite tools, but I use it very rarely. I noticed a mention of support for UTF-8 and some great documentation layout improvements, but what are the other big features that have been implemented in the last few years?
评论 #29973089 未加载
_joelover 3 years ago
It&#x27;s great to see it still going. Used it for Puppet as well as dpkg output (we made a full dependency list of our multimedia ingest application, i.e. lots of custom ffmpeg and libboost etc). That thing was <i>huge</i>
bhaakover 3 years ago
The history and majors relationships between NetHack and its forks are visualized with graphviz.<p><a href="https:&#x2F;&#x2F;nethackwiki.com&#x2F;wiki&#x2F;Variant" rel="nofollow">https:&#x2F;&#x2F;nethackwiki.com&#x2F;wiki&#x2F;Variant</a>
phkahlerover 3 years ago
Always wanted a way to (have GCC?) send a call graph to graphviz. A reduced version indicating calls across files would also be useful.<p>I get that polymorphism can mess that up, so maybe just link callers to the base class in those cases.
评论 #29968216 未加载
srinathkrishnaover 3 years ago
I&#x27;ve long marveled on of my ex-colleagues graphviz-fu. He&#x27;d whip out a new graphviz online doc and explain an architecture through it. Helped a ton during the pandemic as we were all remote.
sdrabingover 3 years ago
I love Graphviz, here&#x27;s a citation graph tool I build with it:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;shanedrabing&#x2F;gref" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;shanedrabing&#x2F;gref</a>
TruffleLabsover 3 years ago
I used this to generate relationship diagrams between companies, adding in projects and who is working on what; the final image was a map of an ecosystem of that set of businesses.
pezo1919over 3 years ago
Both VSCode and IntelliJ have PlantUML plugins which can handle DOT code and render it in the IDE. Nice to have. (VSCode&#x27;s is way smoother though.)
erwincoumansover 3 years ago
I love the Doxygen dependency graphs, using dot&#x2F;Graphviz. Wow, 1999, 23 years old, like the first Matrix movie...
jantoover 3 years ago
<a href="https:&#x2F;&#x2F;plantuml.com" rel="nofollow">https:&#x2F;&#x2F;plantuml.com</a> graphs look much better
评论 #29967864 未加载
tokumeiover 3 years ago
Graphviz has really helped me in the past with troubleshooting giant CMake projects with lots of dependencies.
AtNightWeCodeover 3 years ago
A true classic! Powerful, yet very easy to learn.
ngcc_hkover 3 years ago
Javascript and html version needed.
评论 #29967232 未加载
评论 #29967348 未加载
评论 #29967195 未加载
评论 #29969237 未加载
评论 #29968196 未加载
pydryover 3 years ago
Anybody know what the best visual editor is? Web or desktop.
评论 #29970016 未加载
mdtrooperover 3 years ago
Graphviz is another &quot;heart bleed&quot; &#x2F; &quot;log4j&quot; &#x2F; ...<p>Because a lot of big companies use it (and they spend 0 €&#x2F;$&#x2F;... in the project), and it is broken from several years...
评论 #29971592 未加载
评论 #29967478 未加载
评论 #29967910 未加载