
Estoy trazando una función exponencial y necesito señalar algunos valores específicos en mi gráfico.
Nombre del punto (x;y)
Punto N1 (2;50)
Punto N2 (4;25)
estoy tratando de seguirLa respuesta de Gonzalo Medina.pero no estoy obteniendo ningún éxito
\begin{figure}[H]
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
domain=10:1,
axis lines=left,
grid=both,
clip=false,
xlabel=$Tempo (dias)$,
ylabel=$Atividade (Ci)$
]
\addplot[name path=curve,smooth,thick,black]{100*exp(-x*ln(2)/2)};
\addplot[name path=line,smooth,dashed,red]{50};
\path[name intersections={of=curve and line, by={a}}];
\draw[dashed]
(a) -- (a|-{axis cs:0,0}) node[anchor=north,font=\tiny] {$N=1$};
\node[fill,inner sep=1.5pt] at (a) {};
\end{axis}
\end{tikzpicture}
\end{figure}
Tenga en cuenta que solo intenté señalar N1 aquí, e incluso eso no funciona. Además, no quiero trazar una línea solo para hacer la intersección, pero no sé cómo hacerlo de otra manera.
¿Algún consejo?
Respuesta1
Una alternativa a la respuesta de Alenanno, con el nombre de los nodos en los nodos:
\documentclass[margin=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}[scale=1.5,
X/.style = {circle, fill=black, inner sep=1.5pt,
label={[font=\scriptsize]above right:#1},
node contents={}}
]
\begin{axis}[
domain=10:1,
axis lines=left,
grid=both,
clip=false,
xlabel=\textit{Tempo (dias)},
ylabel=\textit{Atividade (Ci)}
]
\addplot[smooth,thick,black]{100*exp(-x*ln(2)/2)};
%
\draw[dashed] (1,50) -- (2,50) node[X={$N=1$}] -- (2,3);
\draw[dashed] (1,25) -- (4,25) node[X={$N=2$}] -- (4,3);
\end{axis}
\end{tikzpicture}
\end{document}
En el código anterior considero que el pgfplots
paquete reciente está disponible. En caso de que sea anterior a la versión 1.11, entonces en coordenadas se debe agregar axis cs:
, algo así como (axis cs:1,25)
.
Respuesta2
Normalmente necesitarías intersecciones para hacer un buen trabajo. Habría otras soluciones, pero las que se me ocurren requieren incluso más código que simples intersecciones. Aún así, en tu caso ni siquiera necesitas intersecciones. Puedes simplemente dibujar las líneas.
Producción
Código
\documentclass[margin=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\tikzset{
dot/.style={fill=black, circle, inner sep=1.5pt},
nod/.style={sloped, at start, xshift=3mm, font=\scriptsize, above},
}
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
domain=10:1,
axis lines=left,
grid=both,
clip=false,
xlabel=Tempo (dias),
ylabel=Atividade (Ci)
]
\addplot[name path=curve,smooth,thick,black]{100*exp(-x*ln(2)/2)};
\draw[dashed] (2,5) -- (2,50) coordinate[dot] node[nod] {$N=1$} -- (1,50);
\draw[dashed] (4,5) -- (4,25) coordinate[dot] node[nod] {$N=2$} -- (1,25);
\end{axis}
\end{tikzpicture}
\end{document}