: How to space objects logarithmically / exponentially in Illustrator? I'm working on a chart that has to be on a base-10 log scale (meaning, the divisions are at 1, 10, 100, 1000 instead of
I'm working on a chart that has to be on a base-10 log scale (meaning, the divisions are at 1, 10, 100, 1000 instead of 10, 20, 30, 40), and I'm trying to make it more intuitive and obvious to people who don't understand log scales and/or might not notice the non-standard scale. One of the ideas I'm trying is, to have subtle ticks / lines spaced out at regular intervals so an inattentive viewer will notice that the scale 'barrels' away and the ticks get much closer together further up the chart.
To do this, I need to space those ticks out in a logarithmic / expontial way, so they look something like this (numbers are for illustration purposes only, it's just the line spacing I'm interested in):
I know a little Javascript, so I generated that above image with some code (here's a live editable demo on jsfiddle.net ) using the Raphael framework that draws SVG, which is a format Illustrator can use. So, the worst case scenario is, someone could adapt that code each time, dig into the generated HTML using Firebug or Inspect Element or View Source, find the generated SVG element, copy it into a text editor, save as a .svg file, then open that svg file in Illustrator, then work with it.
But that's hardly convenient or a smooth part of a design workflow. If there's some clever way to do this in Illustrator itself (maybe some smart use of Effect > Distort and transform > Transform with many copies, <100% vertical scale and >0 vertical move?), that would be much better.
Note I'm not particularly interested in any other part of generating a log scale chart in Illustrator. Illustrator's geriatric, creaking Graph tool just doesn't do stuff like that, so I'm more-or-less resigned to copying in something from Excel or similar then adding labels. It's the progressive spacing of the lines I'm interested in.
I've asked a slightly similar question before about graded 'barrelled' spacing of lines, and found an answer that worked for my needs then, but that was about 'barrelling' lines in an approximate visually-controlled way: here I'm asking how to do it in a strictly controlled, accurate way that would match up with something generated on a log scale.
More posts by @Kaufman565
3 Comments
Sorted by latest first Latest Oldest Best
This is not exactly a logarithmic coefficient, but it may do the trick in some situations.
You can use blend tool and convert the extrapolation path handles into smooth handle: The more the handle is wide, the more spacy the interpolated shapes are.
Into your blend group, select the interpolation path:
convert the handle of the extrapolation path in smooth handle:
Expand the handle:
That's it!
If you're on a Mac, Grapher (free and already in your Utilities folder) can be used to generate Illustrator files with algebra. Means you can do anything you can work out a formula for, really quickly. Probably quicker than writing code.
Using algebra to create paths: bjango.com/articles/algebraaspaths/
You are in luck: illustrator supports Javascript (also AppleScript and vb Script).
See www.adobe.com/devnet/illustrator/scripting.html for docs.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.