
Mi problema hoy es conseguir encajar un circuito eléctrico (dibujado principalmente usando \draw) en un eje Tikz.
Estoy usando el comando Eje para trazar (usando \addplot) una curva a partir de un conjunto de puntos (sin problemas hasta ahora), pero no puedo entender cómo funciona Tikzpicture con anclajes y todo eso, para que las cosas no se vuelvan locas. pero quédate en tu lugar.
Para ser más claro, aquí está el código donde hago 3 ejes (es decir, 3 subfiguras si lo prefiere, 2 en la parte superior y una en la parte inferior izquierda):
\begin{tikzpicture}[scale=1]
% Vs(ve) graphique
\begin{axis}[name=plot1
]
\addplot[black] table {Fig_ELA2/ELA2_P3_C3/ELA2_P3_C1_PP_CLASSE_B/courbes/vs_ve_out.txt};
\end{axis}
% Vs(wt) graphique
\begin{axis}[name=plot2,at={($(plot1.east)+(1.5cm,0)$)},anchor=west
]
\addplot[black] table {Fig_ELA2/ELA2_P3_C3/ELA2_P3_C1_PP_CLASSE_B/courbes/vs_t_out.txt};
\end{axis}
% Ve(wt) graphique
\begin{axis}[name=plot3,at={($(plot1.south)-(0,1.5cm)$)},anchor=north
]
\addplot[black] table {Fig_ELA2/ELA2_P3_C3/ELA2_P3_C1_PP_CLASSE_B/courbes/ve_t_out.txt};
\end{axis}
% Electrical circuit
\draw
(0,0) node[njfet](J){$J$}
(J.S) to[short,-o] ++(0,-0.1) node[left](S){\tiny S} to [R, l_=$R_S$,-*] (0,-3) node(gnd_rs)[ground]{}
(J.D) to[short,-o] ++(0,0.3) node[left](D){\tiny D} to [R, l=$R_D$] ++(0,2) node[vcc]{\color{green} $V_{CC}$}
(J.G) to[short,-o] ++(-0.1,0) node[above](G){\tiny G}-- ++(-1,0) node(RG){}
;
\coordinate (gnd_rg) at (RG|-gnd_rs);
\draw (RG) to [R, l_=$R_G$,-*] (gnd_rg);
\draw (gnd_rs) to[short,-o] ++(-4,0) node(gnd_ve){};
\draw (gnd_rs) to[short,-*] ++(1,0) node(gnd_cs){} to[short,-o] ++(2,0) node(gnd_vs){};
\coordinate (ve) at (gnd_ve|-J.G);
\draw (ve) to[C,l=$C_{Le}$,o-*] (RG);
\coordinate (vs) at (gnd_vs|-D);
\draw (D) to[C,l=$C_{Ls}$,-o] (vs);
\coordinate (cs) at (S-|gnd_cs);
\draw (S) -- (cs) to[C,l=$C_S$,] (gnd_cs);
\draw[-triangle 45, red] (gnd_vs) -- (vs) node[right,pos=0.5]{$v_s(t)$};
\draw[-triangle 45, red] (gnd_ve) -- (ve) node[left,pos=0.5]{$v_e(t)$};
\end{tikzpicture}
Lamento no haberte dado las curvas para que las pruebes, supongo que puedes hacer curvas tontas (o ninguna trama adicional).
Entonces, ¿hay alguna manera de configurar de alguna manera el circuito eléctrico como absoluto y hacer que se comporte como absoluto en CSS (es decir, fuera del flujo)?
Gracias por su ayuda !
Respuesta1
Siempre debes intentar publicar ejemplos independientes para que las personas que quieran ayudar puedan hacerlo sin tener que adivinar tu preámbulo o tus definiciones. Sin embargo, esta es una opción. Tenga en cuenta que:
- en su circuito, tiene solo una coordenada absoluta, la
(0,-3)
de la primera línea, que arreglé (e hizo que su circuito no pudiera traducirse). - Aun así, el circuito es bastante grande, así que lo amplié con un
scope
entorno.
Entonces puedes hacer una cosa como esta (ajustando a ++(6,-5)
mano; es posible hacer algo más automático, pero esa es otra historia, y la contaremos otro día...)
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usepackage{pgfplots}\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[scale=1]
% Vs(ve) graphique
\begin{axis}[name=plot1
]
\addplot[black] {sin(x)};
\end{axis}
% Vs(wt) graphique
\begin{axis}[name=plot2,at={($(plot1.east)+(1.5cm,0)$)},anchor=west
]
\addplot[black] {cos(x)};
\end{axis}
% Ve(wt) graphique
\begin{axis}[name=plot3,at={($(plot1.south)-(0,1.5cm)$)},anchor=north
]
\addplot[black] {x};
\end{axis}
% Electrical circuit
\begin{scope}[scale=0.8, transform shape]
\draw
(plot1.south east) ++(6,-5) node[njfet](J){$J$}
(J.S) to[short,-o] ++(0,-0.1) node[left](S){\tiny S} to [R, l_=$R_S$,-*] ++(0,-3) node(gnd_rs)[ground]{}
(J.D) to[short,-o] ++(0,0.3) node[left](D){\tiny D} to [R, l=$R_D$] ++(0,2) node[vcc]{\color{green} $V_{CC}$}
(J.G) to[short,-o] ++(-0.1,0) node[above](G){\tiny G}-- ++(-1,0) node(RG){}
;
\coordinate (gnd_rg) at (RG|-gnd_rs);
\draw (RG) to [R, l_=$R_G$,-*] (gnd_rg);
\draw (gnd_rs) to[short,-o] ++(-4,0) node(gnd_ve){};
\draw (gnd_rs) to[short,-*] ++(1,0) node(gnd_cs){} to[short,-o] ++(2,0) node(gnd_vs){};
\coordinate (ve) at (gnd_ve|-J.G);
\draw (ve) to[C,l=$C_{Le}$,o-*] (RG);
\coordinate (vs) at (gnd_vs|-D);
\draw (D) to[C,l=$C_{Ls}$,-o] (vs);
\coordinate (cs) at (S-|gnd_cs);
\draw (S) -- (cs) to[C,l=$C_S$,] (gnd_cs);
\draw[->, red] (gnd_vs) -- (vs) node[right,pos=0.5]{$v_s(t)$};
\draw[->, red] (gnd_ve) -- (ve) node[left,pos=0.5]{$v_e(t)$};
\end{scope}
\end{tikzpicture}
\end{document}