0

How can I draw a circle so that it's not stretched into a ellipse when used with xscale= and yscale= options. MWE of the problem:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[yscale=0.005cm,xscale=0.02cm]
  \draw[->] (0,0) -- (18.0,0) node[right] {$f_1$};
  \draw[->] (0,0) -- (0,100.0) node[above] {$f_2$};

   \draw[fill=purple!60] (0,0) -- (0,75) --  (5,95) -- (10,90) -- (13.6,74.4) -- (15.0,60.0) -- cycle;
   \draw [fill=teal] (5,95) circle [radius=0.4cm];

\end{tikzpicture}

\end{document}

Circle is stretched

  • 1
    Related/duplicate(?): Change TikZ Scale for One Path – Torbjørn T. Jan 12 '16 at 13:03
  • Perhaps you should consider using x= and y= to define the linear distances rather than scaling the x and y separately. – Peter Grill Jan 12 '16 at 13:05
  • What about \begin{tikzpicture}[auto,scale=0.6, every node/.style={scale=0.6}]? – Marco Jan 12 '16 at 13:19
4

Use a node instead of the direct draw like this:

\node [draw, circle, fill=teal, minimum size=.4cm] at (5,95) {};

then, your circle will still be the same.

\documentclass{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[yscale=0.005cm,xscale=0.02cm]
  \draw[->] (0,0) -- (18.0,0) node[right] {$f_1$};
  \draw[->] (0,0) -- (0,100.0) node[above] {$f_2$};

   \draw[fill=purple!60] (0,0) -- (0,75) --  (5,95) -- (10,90) -- (13.6,74.4) -- (15.0,60.0) -- cycle;
   %\draw [fill=teal] (5,95) circle [radius=0.4cm];
   \node [draw, circle, fill=teal, minimum size=.4cm] at (5,95) {};

\end{tikzpicture}

\end{document}

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.