减少“右上方”的垂直距离来标记地块

减少“右上方”的垂直距离来标记地块

above right我如何使用但减少垂直距离来标记地块?我尝试了类似的语法above right= value1 and value2,但这对我来说不起作用。

例如下面的情节:

例子

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}


\begin{document}
\begin{tikzpicture}
\begin{axis}[ymin=0, ymax=12]
    \addplot[black] {1} node[pos=0.1, above right]{$y=1$};
    \addplot[black] {2} node[pos=0.1, above right]{$y=2$};
    \addplot[black] {3} node[pos=0.1, above right]{$y=3$ long info};
    \addplot[black] {4} node[pos=0.1, above right]{$y=3$};
\end{axis}
\end{tikzpicture}
\end{document}

答案1

您可以定义一种名为的新样式mylabel,并将其垂直移动一点(y)。这样,您只需重新定义样式,这样放置的所有标签看起来都会相同(3 和 4)。
使用 tikzlibrary,positioning您可以执行类似“右上方= 和 ”的操作。参见图 5 和图 6。感谢 @HarishKumar 指出这一点。

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9,
}
\usetikzlibrary{positioning}
\tikzset{
mylabel/.style={above right, yshift=-2pt}
}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[ymin=0, ymax=12]
     \addplot[black] {1} node[pos=0.1, above right]{$y=1$};
     \addplot[black] {2} node[pos=0.1, above right]{$y=2$ long info};
     \addplot[black] {3} node[pos=0.1, mylabel]{$y=3$ long info};
     \addplot[black] {4} node[pos=0.1, mylabel]{$y=3$};
     \addplot[black] {5} node[pos=0.1, above right=-2pt and 1pt]{$y=5$};
     \addplot[black] {6} node[pos=0.1, above right=-2pt and 8pt]{$y=6$ long info};
    \end{axis}
\end{tikzpicture}
\end{document}

相关内容