我正在尝试自动标记几个图。为此,我刚刚发现pin
将其添加到图中的选项。
此解决方案效果很好,而且是半自动化的。但是,当您重新定义轴时(通过设置xmin
、xmax
、ymin
和ymax
),位置将停止工作,因为标签出现在原始位置而不是剪辑的位置。
那么,如何才能让pin
和pos
关键字在定义的轴内而不是原始域内发挥作用呢?
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{
every axis plot post/.append style=
{mark=none}}
\begin{axis}[
xmin=-10, xmax=10,
ymin=-10, ymax=10,
domain=-10:10,
]
\addplot {1.690476*x+0.238095} node [pos=1,pin={above left:{$1$}},inner sep=0pt] {};
\addplot {-57.000000*x+-20.000000} node [pos=1,pin={above left:{$2$}},inner sep=0pt] {};
\addplot {-0.590909*x+-0.113636} node [pos=1,pin={above left:{$3$}},inner sep=0pt] {};
\end{axis}
\end{tikzpicture}
\end{document}
自定义轴
未定义轴
答案1
我想我restrict y to domain
现在明白你的问题了,使用默认的样本量,实际上在 y 域中不会产生任何数据。最简单的解决方案是手动为该函数指定不同的 x 域和/或增加采样频率,这样在受限的 y 域中也可以看见绘图。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{
every axis plot post/.append style=
{mark=none}}
\begin{axis}[
restrict y to domain=-10:10,
domain=-10:10,
]
\addplot {1.690476*x+0.238095} node [pos=1,pin={below right:{$1$}},inner sep=0pt] {};
\addplot[samples=200,domain=-1:0] {-57.000000*x+-20.000000} node [pos=1,pin={above left:{$2$}},inner sep=0pt] {};
\addplot {-0.590909*x+-0.113636} node [pos=1,pin={above left:{$3$}},inner sep=0pt] {};
\end{axis}
\end{tikzpicture}
\end{document}