在史密斯圆图上绘制电阻和电抗曲线

在史密斯圆图上绘制电阻和电抗曲线

对于我的课程,我一直试图在史密斯图上绘制恒定电阻和电抗曲线。虽然后者看起来很简单,但我能想到的唯一方法是绘制一组间距很近的点,这会占用大量内存。我的问题是:

  1. 有没有有效的方法来绘制恒定电阻曲线(在本例中为红色和橙色),就像电抗曲线(蓝色)一样?
  2. 有没有办法将蓝色(电抗)曲线的起点移到与红色曲线相交的点?

在关注了以下回答后这里这里,我已到达:

\documentclass[preview]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{smithchart}
\pgfplotsset{compat=1.11}

\begin{document}
    \begin{tikzpicture}
        \begin{smithchart}
            
        % Reactance plot
        \addplot[domain=0:90, samples=600, color=blue] {.5};

        % Resistance plot - orange 
        \foreach \x in {.5, .51,...,5}
        {\edef\temp{\noexpand\addplot+[mark=*,
        mark options={solid},color={orange},mark size=.2,line width=1] coordinates { (.5,\x) };}\temp}

        % Resistance plot - red 
        \foreach \x in {0, .01,...,.5}
        {\edef\temp{\noexpand\addplot+[mark=*,
        mark options={solid},color={red},mark size=.2,line width=1] coordinates { (1,\x) };}\temp}
            
        \end{smithchart}
    \end{tikzpicture}
\end{document}

生成以下输出:

在此处输入图片描述

谢谢!

答案1

我不太明白这个问题。但是,您关心的问题之一似乎是编译时间。此代码在很短的时间内重现了您的输出。(使用\pgfplotsinvokeforeach不带这些\edef内容已经可以大大加快速度,但下面的速度更快。)

\documentclass[preview]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{smithchart}
\pgfplotsset{compat=1.17}

\begin{document}
    \begin{tikzpicture}
        \begin{smithchart}
            
        % Reactance plot
        \addplot[domain=0:90, samples=600, color=blue] {.5};

        % Resistance plot - orange 
        \addplot+[mark=*,only marks,samples at={.5, .51,...,5},
        mark options={solid},color={orange},mark size=.2,line width=1](.5,x) ;

        % Resistance plot - red 
        \addplot+[mark=*,only marks,samples at={0, .01,...,.5},
        mark options={solid},color={red},mark size=.2,line width=1] (1,x) ;
            
        \end{smithchart}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

但我真的不明白为什么你不做类似的事情

\documentclass[preview]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{smithchart}
\pgfplotsset{compat=1.17}

\begin{document}
    \begin{tikzpicture}
        \begin{smithchart}[samples=181,line cap=round,smooth]
            
        % Reactance plot
        \addplot[domain=0:20,  color=blue] (x,.5);

        % Resistance plot - orange 
        \addplot+[no marks,domain=.5:5,
        color={orange},line width=1](.5,x) ;

        % Resistance plot - red 
        \addplot+[no marks,domain=0:.5,
            color={red},line width=1] (1,x) ;
            
        \end{smithchart}
    \end{tikzpicture}
\end{document}

相关内容