Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

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):

enter image description here

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.

share|improve this question
add comment

3 Answers

up vote 2 down vote accepted

You are in luck: illustrator supports Javascript (also AppleScript and vb Script).

See http://www.adobe.com/devnet/illustrator/scripting.html for docs.

share|improve this answer
add comment

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: http://bjango.com/articles/algebraaspaths/

share|improve this answer
add comment

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:

Interpolation path

convert the handle of the extrapolation path in smooth handle:

convert handle

Expand the handle:

Expand handle

That's it!

result of extrapolation

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.