myinfra
myinfra | example_optimally_colored_graphs | |
---|---|---|
2 | 4 | |
41 | - | |
- | - | |
1.8 | - | |
about 3 years ago | - | |
Python | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
myinfra
-
Graphviz: Open-source graph visualization software
Graphviz is awesome!
Here are a couple of my diagrams:
https://beepb00p.xyz/blog-graph.html -- graph of my blog pages with tags/connections between posts, generated with a DSL-ish python script https://github.com/karlicoss/beepb00p/blob/master/misc/index...
https://beepb00p.xyz/myinfra.html -- map of my personal data & infrastructure (discussed a year ago https://news.ycombinator.com/item?id=26269832 ). Also a similar DSL https://github.com/karlicoss/myinfra/blob/master/generate.py
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's hard to convince graphviz to actually do so. Basically I'd love a tool where I can do 10% of positioning manually and let the rest be constraint based like in graphviz.
-
Map of my personal data infrastructure
Not the first time, but possibly the biggest thing I've drawn in it...
There definitely are some weird things when you try to plot complicated things, fighting with weird placement, clusters etc. But not sure if it's me or Graphviz to blame for this. But I don't really know a better tool. If I knew how the diagram would look in hindsight I might have drawn in manually in inkscape or something, but when I started I didn't know what I would end up with, so needed to be an automatic tool :)
To minimize the manual work, I ended up with a mix of DSL in python and raw graphviz commands: https://github.com/karlicoss/myinfra/blob/fc6345c31c4e49b534...
Depending on the things you want to represent a better fit might be force layout, for example something like https://observablehq.com/@morvasaaty/d3-force-notes
example_optimally_colored_graphs
-
Graphviz: Open-source graph visualization software
A fast 3D alternative for visualizing large graphs is Graphia: https://github.com/graphia-app/graphia https://graphia.app However, it's currently suffering from the Qt switch from 5 to 6.
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.
A recent set of minimal graph coloring Graphviz visualizations of mine: https://gitlab.com/nsajko/example_optimally_colored_graphs
- Visualized Graph Coloring Examples
- Many examples of optimally colored graphs
What are some alternatives?
awesome-quantified-self - :bar_chart: Websites, Resources, Devices, Wearables, Applications, and Platforms for Self Tracking
sketchviz-docker - Graphviz -> Sketchy PNG in one image, for automation
DFB - A mini development environment for developing and troubleshooting the Cypress PSoC Digital Filter Block
mdbook-graphviz
object_playground - A tool for visualizing and experimenting with JavaScript object relationships.
d3-dag - Layout algorithms for visualizing directed acyclic graphs
embedded-struct-visualizer - Tool to visualize the graph of embedded structs in Go projects
PSGraph - A set of utilities for working with Graphviz in Powershell
hpcc-js-wasm - HPCC-Systems Web-Assembly (JavaScript)
schema - get a dot file from a postgres database schema
gref - Search, scrape, and render citation graphs.