GithubHelp home page GithubHelp logo

nxt3at / sankeydiagram.net Goto Github PK

View Code? Open in Web Editor NEW
72.0 2.0 11.0 1.65 MB

sankeydiagram.net is an easy-to-use webapp for generating Sankey Diagrams to visualize flows and budgets.

License: Other

SCSS 12.88% HTML 39.26% JavaScript 46.80% Emacs Lisp 0.80% Dockerfile 0.26%
sankey sankey-diagram sankey-diagram-generator sankey-chart sankey-graph d3-visualization d3 webapp budgeting budget-analysis

sankeydiagram.net's People

Contributors

domvo avatar jonasdoesthings avatar ndsvw avatar subhraaa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sankeydiagram.net's Issues

Collapsible sections

This is very useful, thanks!

I'm building up a diagram, which has some very small sub-branches. It would be nice if you could click on something and collapse the child nodes.

Would this be possible?

Repeating serializer error on build

I just git cloned the repo and do run nodejs 20.11.0 LTS

During npm run build I repeating get this error:

@parcel/workers: Expected constructor 2.7.0:BundleGraph to be registered with serializer to deserialize

Is that nodejs version OK to run it? I didn't find any version requirement in the package json file for this. And what can that error be?

Fix value for circular streams

Thanks for providing this sankey diagram visualization! I'm actually quite happy it doesn't collapse when adding a circular stream. Just this issue: The value doesn't seem to be right...

Example: https://sankeydiagram.net/?content=PTAEGUHkFUCUGECioDaA1AggGWsgFAMYCGAdqAEYCmoRoA5APx0CUAuqACoawDiiHoPCniQskWK2YAoAO5EA5tRQN2ASxIA3SgGcALuvlT1WvQdQrQ/AGLap17agCMAVgAM7cADIACm9d2OGyc3dkQAVwAnAHtwXSiAD3i3I00dfRJ5c3Y9KIIAa1sc/IcUENBjNIMpIA===&

sankeydiagram-net-export

// SOURCE [VALUE (can be a '?')] TARGET ([COLOR])
wage [?] investing
investing [?] ETFs
ETFs [150] S&P500
ETFs [150] EuroStoxx50
investing [?] stocks
stocks [50] investing

In the current implementation, the node investing has a value of 400, whereby as I read it, it should only be 300, because the 50 are straight fed back into the node, increasing it by another 50.

I've found another library which contains a reference to an algorithm to detect circular references - maybe it helps: https://github.com/tomshanley/d3-sankey-circular

feature request: Add sorting ability for items

It looks like currently, items are sorted alphabetically by default.
It would be nice to either sort them manually (by order of appeareance in the markup).
Or alternatively, extend the syntax to be able to specify a sorting order for the items below a node.

feature request: use brotli instead of lz compression

Using brotli instead of lz for compressing the input into the sharing url could probably shrink the length of share-urls.

Due to backwards-compatibility we should still keep in LZ tho and mark brotli strings with some magic bit at the beginning.

feature request: add 'fill available' option

It'd be nice to have the option to automatically fill a target with the remaining value of a source.

source [500] target
target [400] rent 
target [%] savings // automatically fills to 100 and ideally refreshes when other values are changed 

I can try to do it myself, but some pointers would be nice

feature request: save settings to share link

Currently when using the share sankey as link function only the content gets shared, not the settings. In the future the settings should also be included in the share link.

Attention: I think the share link should only include actually changed settings as that would help keeping the link length in check. The downside is that when we decide to change the default of some settings in the future, the settings would default on the new pre-set value.

Bug: Decimal Precision only work's for 0 or 1

in [100.12] total in
total in [20.55] out

If i set Decimal precision in the settings to 0 or 1 everything works as it should. But if i want to show the whole value without rounding - 2 decimals - nothing happens:
image

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.