Рисуете ли вы линии на графике и даете им обозначения?

Рисуете ли вы линии на графике и даете им обозначения?

Я впервые в жизни занимаюсь черчением в LaTeX. Мне удалось построить гистограмму. У меня есть две группы значений, для которых я хочу показать среднее значение. Я собираюсь поместить горизонтальную полосу поверх гистограммы и позволить ей показывать средние значения. Рисование, к сожалению, не связано с масштабированием или чем-то подобным. В тот момент, когда мне нужно будет что-то изменить в масштабировании/маркировке, все будет не на своих местах. Есть ли лучший способ рисовать линии (или стрелки), которые соответствуют значениям данных базовой диаграммы?

решение1

Я предполагаю, что у вас возникли проблемы с использованием tikz \drawв среде \pgfplot's axis. В этом случае вам нужно использовать axis 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}

Связанный контент