将两个 TikZ 图像设置为位于一条线上的相同高度

将两个 TikZ 图像设置为位于一条线上的相同高度

我有两个 TikZ 图像(一个是 citcuitikz),它们位于同一条线上,并且使用 \centering 居中。问题是它们的高度不太一样,因为 circuitikz 的高度略低。我想找到一种方法将 circuitikz 图像垂直居中。

我用于该图的代码:

\begin{figure}[H]
    \centering
    \begin{circuitikz}
        \draw (0,0) to[short, o-] ++(-1, 0) to[american voltage source=\( V \), i=\( i \)] ++(0, 3) to[short, -o] ++(1, 0);
    \end{circuitikz}
    \hskip 25pt
    \begin{tikzpicture}
        \begin{axis}[xlabel=\( i \), ylabel=\( V \), xmin=0, xmax=10, ymin=0, ymax=1.5, ticks=none, axis lines=middle, scale=0.6]
            \addplot[domain=0:10, samples=100, color=red]{1};
        \end{axis}
    \end{tikzpicture}
    \caption{\centering Ideal constant voltage source}
\end{figure}

输出结果如下:

在此处输入图片描述

答案1

tabular带有列的Am可以帮助:

\documentclass{article}
\usepackage{circuitikz}
\usepackage{pgfplots}
\usepackage{array}

\begin{document}
\begin{figure}
\centering
    \begin{tabular}{m{2cm}m{4cm}}
    \begin{circuitikz}
        \draw (0,0) to[short, o-] ++(-1, 0) to[american voltage source=\( V \), i=\( i \)] ++(0, 3) to[short, -o] ++(1, 0);
   \end{circuitikz}
&
    \begin{tikzpicture}
        \begin{axis}[xlabel=\( i \), ylabel=\( V \), xmin=0, xmax=10, ymin=0, ymax=1.5, ticks=none, axis lines=middle, scale=0.6]
            \addplot[domain=0:10, samples=100, color=red]{1};
        \end{axis}
    \end{tikzpicture}
\end{tabular}
    \caption{\centering Ideal constant voltage source}
\end{figure}
\end{document}

在此处输入图片描述

答案2

虽然@Ignasi 回答显然这里是正确的,让我向你展示如何在一般点上对齐图片。在下面的例子中,我命名了生成器V_p并在图中放置了相同的值。

现在我有两个节点,一个是符号的电压标签circuitikz(你可以看到在手册中(将被称为Vpvoltage)和图中定义的节点。通过将整个图片的基线设置在此类节点的基线上,我们将获得将它们对齐的效果。

\documentclass{article}
\usepackage[RPvoltages]{circuitikz}
\usepackage{pgfplots}\pgfplotsset{compat=1.16}
\usepackage{array}

\begin{document}
\begin{figure}
\centering
    \begin{circuitikz}[baseline=(Vpvoltage.base)]
        \draw (0,0) to[short, o-] ++(-1, 0) 
             to[american voltage source=$V_p$, i=$i$, name=Vp] ++(0, 3) 
             to[short, -o] ++(1, 0);
   \end{circuitikz}
\qquad
    \begin{tikzpicture}[baseline=(Vpgraph.base)]
        \begin{axis}[xlabel=$i$, ylabel=$V$, xmin=0, xmax=10, ymin=0, ymax=1.5, 
                    ticks=none, axis lines=middle, scale=0.6, clip mode=individual]
            \addplot[domain=0:10, samples=100, color=red]{1};
            \node[left](Vpgraph) at (0,1) {$V_p$};
        \end{axis}
    \end{tikzpicture}

    \caption{\centering Ideal constant voltage source}
\end{figure}
\end{document}

在此处输入图片描述

相关内容