3

This question is building from the elegant solution given by marsupilam found here:

How to draw this z-grid graph of constant damping factors and natural frequencies

How to plot the other have of this plot (from marsupilam's code given below), so that the new plot is a full circle like this:

enter image description here

Here is his super code:

\documentclass[12pt,tikz,border=2pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
  \begin{axis}
    [
      height=15cm,
      unit vector ratio = 1 1,
      ymin=0,
      xmax=1.1,
      ymax=1.1,
      samples=100,
      axis lines=center,
      ticks=none,
    ]

    \pgfplotsinvokeforeach{0,...,9}
    {
      \def\zet{(.1*#1)}
      \pgfmathsetmacro{\factor}{\zet/sqrt(1-\zet^2)}
      \addplot[data cs=polar,domain=0:.35*sqrt(1-\zet^2)] (180*\x,{exp(-pi*\factor*\x})
          node[at end, sloped, anchor=south,font=\tiny, inner sep=0pt] {$\zeta{=}0.#1$};
      \addplot[data cs=polar,domain=.35*sqrt(1-\zet^2):sqrt(1-\zet^2)] (180*\x,{exp(-pi*\factor*\x});
    }

    \pgfplotsinvokeforeach{.1,.2,...,1}
    {
      \def\a{#1}
      \addplot[data cs=polar,domain=0:90] ({180*\a*cos(\x)},{exp(-pi*\a*sin(\x))});
    }
  \end{axis}
\end{tikzpicture}
\end{document}
  • 1
    could you also please paste the other question's URL in the body of this question? You don't need to add it as a link. The system will automatically prettify it in a few seconds. – percusse Jun 5 '17 at 8:47
4

This seems to do the trick...

Before you ask :

  1. there is one line missing, that for zeta=1. I suggest you draw it by hand.
  2. I am not sure about the values of zeta in the lower part, maybe 1/0.9, 1/0.8, and so on ?

The output

enter image description here

The code

\documentclass[12pt,tikz,border=2pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
  \begin{axis}
    [
      height=15cm,
      unit vector ratio = 1 1,
      xmin=-1.05,
      xmax=1.1,
      ymin=-1.1,
      ymax=1.1,
      samples=100,
      %axis lines=center,
      %ticks=none,
      minor tick num=4,
      xtick distance=.25,
      ytick distance=.1,
      major grid style={thick},
      xticklabels={,-1,,-0.5,,0,,0.5,,1},
      yticklabels={,0,,0.2,,0.4,,0.6,,0.8,,1},
      grid=both,
    ]

    \pgfplotsinvokeforeach{0,...,9}
    {
      \def\zet{(.1*#1)}
      \pgfmathsetmacro{\factor}{\zet/sqrt(1-\zet^2)}
      \addplot[data cs=polar,domain=0:.35*sqrt(1-\zet^2)] (180*\x,{exp(-pi*\factor*\x})
        node [at end, sloped, anchor=south,font=\tiny, inner sep=0pt, fill=white,]{$\zeta{=}0.#1$};
      \addplot[data cs=polar,domain=.35*sqrt(1-\zet^2):sqrt(1-\zet^2)] (180*\x,{exp(-pi*\factor*\x});
      \addplot[data cs=polar,domain=0:.35*sqrt(1-\zet^2)] (-180*\x,{exp(-pi*\factor*\x})
        node [at end, sloped, anchor=north,font=\tiny, inner sep=2pt, fill=white,]{$\zeta{=}-0.#1$};
      \addplot[data cs=polar,domain=.35*sqrt(1-\zet^2):sqrt(1-\zet^2)] (-180*\x,{exp(-pi*\factor*\x});
    }

    \pgfplotsinvokeforeach{.1,.2,...,1}
    {
      \def\a{#1}
      \addplot[data cs=polar,domain=-90:90] ({180*\a*sin(\x)},{exp(-pi*\a*cos(\x))});
      %\addplot[data cs=polar,domain=0:90] ({180*\a*cos(\x)},{exp(-pi*\a*sin(\x))});
    }
  \end{axis}
\end{tikzpicture}
\end{document}
  • Thank You! As for the values of zeta on the underside...it starts from 0.9 (from the inside of the unity circle) out to 0.0 on the unity circle. Thanks! – Joe Jun 5 '17 at 7:58
  • @Joe so the same as above ? Sounds strange to me... – marsupilam Jun 5 '17 at 8:02
  • Hello, yes, the same as above. I know that the image is not that great, but if you look closely, the values are repeating. Thanks! – Joe Jun 5 '17 at 8:19
  • Sincerest Thank you! for all your time and help again! I sincerely appreciate it! – Joe Jun 5 '17 at 19:11

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.