GithubHelp home page GithubHelp logo

Comments (5)

timelyportfolio avatar timelyportfolio commented on May 18, 2024

Sorry, read this as vis.js, but thiking now you are saying viz.js. Only issue with viz.js is some concern over ongoing development / support.

In case you are referring to vis.js, I'll leave my original response below.

Trying to decide what would be best :

  1. provide vis.js as an option within DiagrammeR and just focus on the subset of networking libraries that enhance and also fit within the original intent
  2. build a htmlwidget package entirely focused on vis.js and ignore in DiagrammeR
  3. build a vis.js package and through Imports or something similar offer the subset of network diagram functions also in DiagrammeR

@rich-iannone, your decision, but those are the options I see as viable. Any I am forgetting?

from diagrammer.

rich-iannone avatar rich-iannone commented on May 18, 2024

That is confusing but I did mean viz.js, with which ongoing development is likely abandoned. However, it does everything it needs to do and is pretty well documented as far as examples. Rationale for inclusion to DiagrammeR was a bit difficult at first. I thought that it could exist as a separate package, but, since there are several input code methods available in viz.js for GraphViz, I thought: why couldn't it exist alongside the mermaid engine?
Then the benefits of inclusion in DiagrammeR started to become clear: (1) people already know about DiagrammeR and what it is supposed to do (why not do more of it?), (2) DiagrammeR is in CRAN, so it's trivial to add in GraphViz support as an update, (3) with a push for more exhaustive documentation in DiagrammeR it would be great to also provide docs/examples for the GraphViz stuff where there is so little available (admit, I haven't searched too much but what I've found was scant).
Some disadvantages: (1) adds some complication to DiagrammeR (you'd have to select which engine to use), (2) might break any code that so far depends on DiagrammeR (but it's early days for this package, so, less worried about that), (3) might require a lot of work to document all of this (but, I'm willing to put in the hard work to get the docs looking good).

Alright! That is it. I think there is more positive than negative from including this. If during development it doesn't work out very well, the viz.js support could be dropped. I'm definitely okay with giving it a try. Could be very interesting.

from diagrammer.

timelyportfolio avatar timelyportfolio commented on May 18, 2024

I am impressed with viz.js does, and since it used emscripten with graphviz should be nearly one-to-one for those acccustomed to graphviz. Wondering now though, do we specify type mermaid or graphviz/dot in the DiagrammeR(), try to use some auto-detection, or make a mermaid function and a graphviz function similar to networkD3.

On a separate note, we should be able to leverage Rgraphviz.

viz.js is a fairly hefty >2mb, so this will need to be considered especially for online publish.

from diagrammer.

rich-iannone avatar rich-iannone commented on May 18, 2024

For simplicity's sake, I'm thinking that an auto-detection scheme will be less burdensome for the user. I have to look into Rgraphviz. I was a bit surprised that viz.js was at around 2.5 MB. It might not be that big a deal in the context of an htmlwidget though. We'll have to see.

from diagrammer.

rich-iannone avatar rich-iannone commented on May 18, 2024

Great! It's in!

from diagrammer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.