`bodegraph` 两个垂直轴

`bodegraph` 两个垂直轴

手册bodegraph展示了如何以 dB 为单位构建网格,请参阅 在此处输入图片描述

使用 MWE(来自手册)

\documentclass{article}
\usepackage{bodegraph}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[yscale=2/30,xscale=7/5]
    \semilog{-2}{3}{-20}{10}
    \end{tikzpicture}
\end{document}

但是我怎样才能构造这样的东西 在此处输入图片描述

答案1

要设置 y 轴上刻度之间的距离,请添加\OrdBode{<value>} \semilog...。在您的例子中,\OrdBode{20}。然后更改宏的最后两个参数\semilog,设置轴的下限和上限。为了保持相同的整体高度,yscale将 的tikzpicture减半。

bodegraph还有一个\UnitedB宏,用于向轴添加标签。在 之前添加\semilog...。如果您只想要 y 标签,请重新定义\Unity宏,而不是发出\UnitedB,请参阅下面代码中的注释。要更改 y 标签的默认位置,请修改样式semilog label y,如下所示。

对于第二组刻度标签,请注意刻度的 x 坐标是指数。因此,在您的情况下,轴的左侧,x 值为10^(-2),TikZ 实际使用的坐标是-2。由于 y 轴是线性的,而不是对数的,因此坐标与值相同,因此-40对于下端,20对于上限。(换句话说,传递给的四个值\semilog是 TikZ 实际使用的坐标的 x 和 y 极限。)

因此,您可以将一系列节点放置在,例如,x=-3y={-40, -20, 0, 20}

在此处输入图片描述

\documentclass{article}
\usepackage{bodegraph} % loads tikz

\begin{document}
\begin{tikzpicture}[
  yscale=1/30,xscale=7/5, % changed y-scale
  semilog label y/.append style={above right} % change anchor of y-label
]
    \UnitedB % add labels to axes
   %\renewcommand\Unity{dB} % use this instead of \UnitedB if you only want the y-label
    \OrdBode{20} % ytick every 20
    \semilog{-2}{3}{-40}{20} % changed y-limits

   \node [above right,font=\tiny,red] at (-3,20) {lin}; % add label for second axis
   % add new ticklabels
   \foreach [count=\i from -2] \y  in {-40,-20,0,20}
       \node [font=\tiny,red] at (-3,\y) {$10^{\i}$};
\end{tikzpicture}
\end{document}

答案2

您始终可以从相应的样式文件中查找命令,并以此为基础创建自己的命令。我这样做是为了\semilog得到结果。

\documentclass{article}
\usepackage{bodegraph}
\usepackage{tikz}

\newcommand{\semilogLabelY}[5][]{ %based on \semilogNS from bodegraph.sty
\pgfmathtruncatemacro{\Valsuivante}{#4+\valpas}
\foreach \yy in  {#4,\Valsuivante,...,#5}{
\pgfmathtruncatemacro{\ylabel}{\yy/10}
\node[semilog label y, node distance=0.3em]at ({#2-1},\yy) {$10^{\ylabel}$};
}}


\begin{document}
    \begin{tikzpicture}[yscale=2/30,xscale=7/5]
    \semilog{-2}{3}{-20}{10}
    \semilogLabelY{-2}{3}{-20}{10}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容