<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi Richard,<div><br></div><div>I’ve found a few interesting JavaScript libraries for visualizing graphs, vis.js among others. I don’t know if they’re sufficient to deal with highly dense graphs or if they provide 3D rendering. <span style="background-color: rgba(255, 255, 255, 0);">Vis.js also has nice features for rendering time lines. </span></div><div><br></div><div>Vis.js looks sufficiently feature rich for my purposes. So I’m looking into creating a set if custom Nitrogen elements based on vis.js. I’m both skill-set and time constrained so it will be awhile before I can show results. Ideally, I’d like to see a Nitrogen plug-in that’s highly interactive. But I’ve got to polish off erlPress first and much else to do.</div><div><br></div><div>Best wishes,</div><div><br></div><div>Lloyd<br><br><div id="AppleMailSignature" dir="ltr">Sent from my iPad</div><div dir="ltr"><br>On Apr 9, 2019, at 8:05 PM, Richard O'Keefe <<a href="mailto:raoknz@gmail.com">raoknz@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">I appreciate that these graphs get dense.</div><div class="gmail_default" style="font-family:monospace,monospace">That is precisely why I mentioned Gephi and UbiGraph: three dimensional layout.</div><div class="gmail_default" style="font-family:monospace,monospace">Ubigraph in particular is good at making dynamic 3D layouts;</div><div class="gmail_default" style="font-family:monospace,monospace">if anyone knows a more actively maintained equivalent I would love to hear of it.</div><div class="gmail_default" style="font-family:monospace,monospace"><br>There's a fair bit of work going on in systems biology.</div><div class="gmail_default" style="font-family:monospace,monospace">The C. elegans connectome (<a href="http://wormwiring.org">wormwiring.org</a>), for example,</div><div class="gmail_default" style="font-family:monospace,monospace">has many thousands of edges.  So visualising rather large</div><div class="gmail_default" style="font-family:monospace,monospace">networks is a hot topic.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 9 Apr 2019 at 20:52, Hugo Mills <<a href="mailto:hugo@carfax.org.uk">hugo@carfax.org.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Apr 09, 2019 at 12:46:21PM +1200, Richard O'Keefe wrote:<br>
> The obvious way to visualise a graph would be to drive<br>
> something like GraphViz or Gephi or, ideally, UbiGraph<br>
> (<a href="https://github.com/alan86alves/ubigraph_server" rel="noreferrer" target="_blank">https://github.com/alan86alves/ubigraph_server</a> has a<br>
> copy of the Linux x86-64 version; the official source<br>
> is currently unreachable).  There is an erlubi. But<br>
> perhaps the thing you might want to look at first is<br>
> <a href="https://github.com/aol/erlgraph" rel="noreferrer" target="_blank">https://github.com/aol/erlgraph</a><br>
> It will take a bit of patching to get up to date with<br>
> current versions of Erlang and Cowboy.<br>
<br>
   These kinds of graphs get *very* dense, and it's almost impossible<br>
to draw the whole graph in any meaningful sense. You can't just throw<br>
the graph at a graph drawing package and expect to get usable output.<br>
<br>
   You really need to spend the time on working out what it is you<br>
want to show, whether it's "everything directly relating to this one<br>
character", or "the sequence of events in this scene", or "who was<br>
with who over the course of the story", and then strip out everything<br>
else to show the graph. You're going to be spending much more of your<br>
time thinking about *what* to show than how to show it, in my<br>
experience.<br>
<br>
   Hugo.<br>
<br>
> On Tue, 9 Apr 2019 at 11:29, <<a href="mailto:lloyd@writersglen.com" target="_blank">lloyd@writersglen.com</a>> wrote:<br>
> <br>
> > The Erlang digraph library looks like it may provide an interesting way to<br>
> > diagram scenes in a novel.<br>
> ><br>
> ><br>
> ><br>
> > 1> Scene10 = digraph:new().<br>
> ><br>
> ><br>
> ><br>
> > Imagine:<br>
> ><br>
> ><br>
> ><br>
> > Setting:"park"<br>
> ><br>
> > Character1:"Franco"<br>
> ><br>
> > Character2:"Sophia"<br>
> ><br>
> ><br>
> ><br>
> > 2> digraph:add_vertex(Scene10, "Park", "Night").<br>
> ><br>
> > 3> digraph:add_vertex(Scene10, "Franco", "Old and fat").<br>
> ><br>
> > 4> digraph:add_vertex(Scene10, "Sophia", "Young and beautiful").<br>
> ><br>
> > 5> digraph:add_edge(Scene10, "Franco", "Sophia", "loves").<br>
> ><br>
> ><br>
> ><br>
> > OK to here EXCEPT command 5 returns:<br>
> ><br>
> ><br>
> ><br>
> > ['$e'|0]<br>
> ><br>
> ><br>
> ><br>
> > 6> digraph:add_edge(Scene10, "Sophia", "Franco", "hates").<br>
> ><br>
> ><br>
> ><br>
> > OK to here EXCEPT command 5 returns:<br>
> ><br>
> ><br>
> ><br>
> > ['$e'|0]<br>
> ><br>
> ><br>
> ><br>
> > 6> digraph:add_edge(Scene10, "Sophia", "Franco", "hates").<br>
> ><br>
> > ['$e'|1]<br>
> ><br>
> ><br>
> ><br>
> > Wah!<br>
> ><br>
> ><br>
> ><br>
> > Question 1: How do I see labels?<br>
> ><br>
> ><br>
> ><br>
> > Question 2: Be cool to add a sequence of actions. I can probably figure<br>
> > this out, but is there an elegant solution?<br>
> ><br>
> ><br>
> ><br>
> > Question 3: I'd love to visualize the graph. I see it can be done in<br>
> > Elixir. But I don't know Elixir. Has anyone programmed a way to visualize<br>
> > digraphs in Erlang?<br>
> ><br>
> ><br>
> ><br>
> > Comment: Digraph is crying out for a comprehensive tutorial. I'd love to<br>
> > do it, but just don't know enough yet.<br>
> ><br>
> ><br>
> ><br>
> > Many thanks,<br>
> ><br>
> ><br>
> ><br>
> > LRP<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > erlang-questions mailing list<br>
> > <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> > <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
> ><br>
<br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
<br>
-- <br>
Hugo Mills             | Books are superior to radio: the soundtrack is<br>
hugo@... <a href="http://carfax.org.uk" rel="noreferrer" target="_blank">carfax.org.uk</a> | better<br>
<a href="http://carfax.org.uk/" rel="noreferrer" target="_blank">http://carfax.org.uk/</a>  |<br>
PGP: E2AB1DE4          |<br>
</blockquote></div>
</div></blockquote></div></body></html>