我試圖改進解決方案在圖中畫線並給它們一個標籤?透過使用傑克的答案如何從 PGFplots 軸環境存取 \xmin、\xmax、\ymin、\ymax。因此,傑克的答案產生了棕色虛線(x 軸)
(current axis.left of origin) -- (current axis.right of origin)
我認為簡單地使用 的tikz
庫calc
就可以讓我調整水平線的垂直位置。y=12
例如,如果我想要一條水平線,我只需使用
($(current axis.left of origin)+(axis cs: 0,12)$) -- ($(current axis.right of origin)+(axis cs: 0,12)$)
+ (axis cs: 0,12)
我對另一個座標應用了 a 和相同的方法。
嗯,這在理論上很好,但行不通。相反,它會產生紅色虛線(這只是所需線的一半):
筆記:
- 我沒有進行座標計算,而是嘗試應用
shift={(axis cs: 0,12)}
選項,但這對輸出沒有影響。
代碼:
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x*x};
\draw [ultra thick, dotted, draw=brown]
(current axis.left of origin) --
(current axis.right of origin);
\draw [ultra thick, dashed, draw=red]
($(current axis.left of origin) +(axis cs: 0,12)$) --
($(current axis.right of origin)+(axis cs: 0,12)$);
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我真的不知道為什麼,但這對我有用
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\pgfplotsset{compat=1.10}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x*x};
\draw [ultra thick, dotted, draw=brown]
(current axis.left of origin) --
(current axis.right of origin);
\draw [ultra thick, draw=red]
($(current axis.left of origin)-(axis cs:0,-12)$) --
($(current axis.right of origin)+(axis cs:0,12)$);
\end{axis}
\end{tikzpicture}
\end{document}