I would like the orange dot to be a circle. How do I make that happen while keeping otherwise intuitive/straightforward numbers in the code? Or is there no easy way to do that?

This code




Put a dot on \(\frac{17}{6}\).

\draw (0,0)--(4,0);
\foreach \x in {0,...,24}
 \draw (\x/6,-0.15)--(\x/6,0.15);
\foreach \x in {0,1,...,4}
 \node[below] at (\x,-0.2) {\x};
\fill[orange,xscale=1] (17/6,0) circle (0.1cm);
  %obviously, this xscale adjustment didn't work...



Yields this:

orange not quite dot

1 Answer 1


Set the yscale to the same as the xscale. Optionally, divide the circle diameter on the same number, i.e.

\fill[orange,yscale=2.5] (17/6,0) circle (0.1cm/2.5);

Another option would be to specify an ellipse, which due to the scaling becomes a circle:

\fill[orange] (17/6,0) circle[x radius=0.1cm/2.5,y radius=0.1cm];

And for good measure, a third workaround:

\fill[orange,xscale=1/2.5] (17/6*2.5,0) circle[radius=0.1cm];

If you don't like repeating the number, you can save it to a macro with e.g. \pgfmathsetmacro{\scalefactor}{2.5}, and use \scalefactor instead of 2.5.

  • Regarding the 1st option: I tried the yscale=2.5 part by itself and that seemed to work. But wouldn't dividing the diameter (radius?) by the same scale factor of 2.5, just shrink the circle along the x- and y-axes proportionally? Sep 10, 2015 at 6:05
  • Regarding the 3rd option: Did my first attempt in the OP fail because setting xscale=1 actually meant "Take the xscale defined on the begin{tikzpicture] line and multiply that by 1"? Sep 10, 2015 at 6:11
  • @WeCanLearnAnything 1) I don't follow. The result looks like a circle to me. 2) Yes, as far as I know/guess. Sep 10, 2015 at 6:12
  • Never mind my question regarding the 1st option, I understand it now. :) Sep 10, 2015 at 6:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .