2

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

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

1 Answer 1

6

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

You must log in to answer this question.

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