# Request for enhancement: improve graphviz support

**URL:** <https://talk.observablehq.com/t/request-for-enhancement-improve-graphviz-support/8059>\
**Category:** Feedback\
**Created:** [June 27, 2023, 12:16pm UTC](https://talk.observablehq.com/t/request-for-enhancement-improve-graphviz-support/8059 "2023-06-27T12:16:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![llimllib](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/llimllib/32/4902_2.png) [@llimllib](https://talk.observablehq.com/u/llimllib)\
**Post date:** [June 27, 2023, 12:16pm UTC](https://talk.observablehq.com/t/request-for-enhancement-improve-graphviz-support/8059/1 "2023-06-27T12:16:13Z")

</div>

Right now, the graphviz `dot` support is really neat! However it doesn’t support the spring graph layout algorithm in graphviz, `neato`. If you try to add a graphviz graph with a “neato” layout, you just get “Error: Layout was not done”

example of neato not working: [no neato :( / Bill Mill | Observable](https://observablehq.com/d/d0352ee7cbf273c3)

It appears that the work has been done to support this algorithm here: [GraphViz 2.44.0](https://talk.observablehq.com/t/graphviz-2-44-0/3770)

example of neato working with that fork is at observable ed2e1122c0e94038, I’m not allowed to make a third link so you’ll have to do it yourself if you want to see the glorious spring layout.

---

<div class="post-metadata">

**Author:** ![mbostock](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mbostock/32/9_2.png) [@mbostock](https://talk.observablehq.com/u/mbostock)\
**Post date:** [June 27, 2023, 3:55pm UTC](https://talk.observablehq.com/t/request-for-enhancement-improve-graphviz-support/8059/2 "2023-06-27T15:55:04Z")

</div>

The built-in `dot` only loads the “lite” renderer. You can see an example of how to load the “full” renderer with Neato here:

> **[Hello, Viz.js](https://observablehq.com/@mbostock/hello-viz-js)**
>
> See @observablehq/graphviz for a convenient wrapper. This version uses a web worker, loads Viz.js directly, and loads the “full” renderer rather than the “lite” one.

Here’s an example with an import you can copy and a demonstration of using Neato:

> **[How Graphviz thinks the USA is laid out](https://observablehq.com/@mbostock/how-graphviz-thinks-the-usa-is-laid-out)**
>
> Ref. https://shitpost.plover.com/g/graphviz-usa.html

---

<div class="post-metadata">

**Author:** ![llimllib](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/llimllib/32/4902_2.png) [@llimllib](https://talk.observablehq.com/u/llimllib)\
**Post date:** [June 27, 2023, 7:49pm UTC](https://talk.observablehq.com/t/request-for-enhancement-improve-graphviz-support/8059/3 "2023-06-27T19:49:10Z")

</div>

Thanks, very neat!
