Estoy en mi primera aventura al trazar con LaTeX. Logré trazar mi gráfico de barras. Tengo dos grupos de valores para los cuales quiero mostrar el promedio. Tengo la intención de poner una barra horizontal sobre el gráfico de barras y dejar que indique los valores promedio. Lamentablemente, el dibujo no está acoplado a la escala o similar. En el momento que tenga que cambiar algo en la escala/etiquetado todo estará fuera de su lugar. ¿Existe una forma recomendada de dibujar líneas (o flechas) que correspondan a los valores de datos del gráfico subyacente?
Respuesta1
Supongo que tiene problemas para utilizar a tikz
\draw
dentro \pgfplot
del axis
entorno. En este caso, debe utilizar el axis cs
sistema de coordenadas como lo ilustra la línea de puntos en rojo:
Notas:
- Para agregar una etiqueta a esta línea, puedes usar a
node
como parte del sorteo. - La colocación de la etiqueta se cubre enMover una etiqueta a lo largo del camino.
- Gracias a la respuesta de Jake enAplicar desplazamiento a (eje actual.izquierda del origen), el segundo MWE a continuación debería funcionar sin requerir la especificación de los
x
valores mínimo y máximo. Sóloy
es necesario especificar el valor en la\VerticalPos
definición.
Código: especifique los valores x mínimo y máximo
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x*x};
\draw [ultra thick, dotted, draw=red]
(axis cs: -6,12) -- (axis cs: 6,12)
node[pos=0.5, above] {$y=12$};
\end{axis}
\end{tikzpicture}
\end{document}
Código: determina automáticamente los valores x mínimo y máximo
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x*x};
\newcommand*{\VerticalPos}{12}% Desired vertical postion
\coordinate (Left) at ($(current axis.left of origin) +(axis direction cs: 0,\VerticalPos)$);
\coordinate (Right) at ($(current axis.right of origin)+(axis direction cs: 0,\VerticalPos)$);
\draw [ultra thick, dotted, draw=red]
(Left) -- (Right)
node[pos=0.5, above] {$y=\VerticalPos$};
\end{axis}
\end{tikzpicture}
\end{document}