Keep It Simple, Stupid PerlMonks

### Re: Seeking A Scaling Equation

by BrowserUk (Pope)
 on Jul 25, 2013 at 17:02 UTC ( #1046393=note: print w/replies, xml ) Need Help??

in reply to Seeking A Scaling Equation

In the example, there are 40 nodes. Assuming a font with a maximum height of 10 pixels, and a 10 pixel gap between, you need a circumference of:

40 * ( 10 + 10 ) == 800. So the inner radius is 800 / 2 π == 127.

The outer radius will be a function of the font size and the string lengths.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: Seeking A Scaling Equation
by jthalhammer (Friar) on Jul 25, 2013 at 22:25 UTC

Very clever. I didn't think in terms of how much space each node occupied along the circumference. That approach will give me the radius that minimizes the circumference whilst keeping the nodes legible. Which is definitely better than what I had.

But what I really want is non-linear scaling. So as the number of nodes becomes smaller, the space between them bigger. And the opposite is true when the number of nodes gets larger.

I can easily cap the upper limit on the radius so that the graph doesn't go off the screen (although the nodes may start to overlap, which is ok at that point). But I need the lower limit on the radius to converge on some constant so that a small number of nodes aren't packed together so tightly.

Does that make sense?

But I need the lower limit on the radius to converge on some constant so that a small number of nodes aren't packed together so tightly.

Calculate the radius per above and then if its less than 100 (or whatever you settle on ) set it to 100.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Calculate the radius per above and then if its less than 100 (or whatever you settle on ) set it to 100.

That's pretty much what I ended up with. I just defined a couple threshold values to set the minimum and maximum allowable radius.

Initially, I thought I would do something clever that scaled progressively according to the number of nodes. But this is much simpler, and looks good enough.

Thanks for your help. Have a great weekend.

Create A New User
Node Status?
node history
Node Type: note [id://1046393]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2018-10-21 08:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When I need money for a bigger acquisition, I usually ...

Results (119 votes). Check out past polls.

Notices?