Comments (4)
Thanks for the feedback. The documentation was an easy fix. The packing not so much but I manage to improve it a little. I added some of the test cases from the Huang paper (whose algorithm is not fully implemented) to get a sense of how far we are and though it's not as bad as your screenshot anymore we are still between 10% and 25% worse.
The screenshot below is the output with the new algorithm. I will release an update today.
from circlify.
Closing with release v0.13
from circlify.
Thank you again for your work.
This code may be mainly used for infographics, however, its potentiel application in engineering is huge, among then, the conception of electrical harness. Keep up the work. I would gladly share other recommandation if you want.
from circlify.
Thanks. To be honest, I have not been able to reproduce exactly the A1.5 algorithm and I settled for a heuristic that gives decent enough results (at least 83% of the density results in the paper) relatively quickly. The cost of the configuration to be minimized is the sum of the distance to the other circles weighted by the radius of that other circle so we try to place smaller circles close to the big ones. I imagine that for design purposes a more expensive approach based on combinatorial problems theory would give better results but much more slowly.
It's just a hobby and I don't have too much time for it but feel free to send feedback or PRs.
from circlify.
Related Issues (11)
- the position of the circle is offset when generating a two-level figure HOT 12
- Circles Not Populating HOT 2
- With some data the number of generated circles is not as expected. HOT 1
- Add option for making equal size leaves HOT 2
- Circlify Funktion HOT 1
- An example in README.md doesn't work: unexpected keyword argument 'with_enclosure' HOT 1
- Labelling with circ.bubbles doesnot match the circles HOT 2
- circlify.bubbles typo HOT 3
- How to set colors of circles
- How get real circle.x circle.y corresponding input real radius ,not whose area is proportional to the corresponding input value
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from circlify.