在图中画线并给它们贴上标签?

在图中画线并给它们贴上标签?

这是我第一次使用 LaTeX 绘图。我设法绘制了条形图。我有两组值,我想显示它们的平均值。我打算在条形图上放一个水平条,让它指示平均值。不幸的是,绘图与缩放或类似功能无关。当我必须在缩放/标签中更改某些内容时,一切都会变得乱七八糟。有没有绘制与底层图表的数据值相对应的线条(或箭头)的最佳实践方法?

答案1

我假设您在的环境tikz \draw中使用 时遇到了麻烦。在这种情况下,您需要使用坐标系,如红色虚线所示:\pgfplotaxisaxis cs

在此处输入图片描述

笔记:

代码:指定最小和最大 x 值

\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}

代码:自动确定最小和最大 x 值

\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}

相关内容