I'm working on a Smith Chart using TikZ. Currently I'm writing it with everything scaled to a unit circle (centered on 0,0 with a radius of 1) without units. Then scaling so it's a reasonably sized figure.

The problem I'm running into is that when drawing some of the minor grid lines for certain sections, particularly when you're close to the x-axis the radius of the circles i'm drawing becomes much larger than is possible in TikZ.

For example this halts with a Dimension too large error due to the 1/\x term for position and radius:

    \foreach \x in {0.01, 0.02, ..., 0.2} {
            \draw (1, {1/\x}) circle ({1/\x});

Image without circles whose radii are too large:

Image without circles whose radii are too large.

What I'm thinking, is instead of drawing individual circles it would be much easier to draw a polar grid to avoid drawing circles with extremely large radii. However, I haven't been able to find any information about how to do that.

Is there a package or work-around for drawing polar grids?


You could use PGFplots (version 1.5) for this. It can draw polar axes with very flexible customisation possibilities:


    minor tick num=4,   
    minor grid style=black!25,
    major grid style={black!75,thick}]
\addplot coordinates {(0,1) (90,1)
(180,1) (270,1)};

  • @BeMasher: I've edited my answer. Is that what you're looking for? Maybe you could edit your question to include some more detail of what you want the final result to look like.
    – Jake
    Nov 18 '11 at 10:50
  • This is exactly what I was aiming for thanks for the help!
    – BeMasher
    Nov 19 '11 at 10:46
  • 2
    Wow, scrolling this answers image (and the questions image) up and down in the browser gives a really weird optical effect. It looks like they're moving!
    – morbusg
    Jan 25 '12 at 14:38

Version 1.5 of pgfplots includes a Smith chart library. This is an example from its manual

title=Huge  Smith  Chart  (rescaled),
\addplot  coordinates  {(0.5,0.2)  (1,0.8)  (2,2)};

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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