將平移應用於(目前軸。原點左側)

將平移應用於(目前軸。原點左側)

我試圖改進解決方案在圖中畫線並給它們一個標籤?透過使用傑克的答案如何從 PGFplots 軸環境存取 \xmin、\xmax、\ymin、\ymax。因此,傑克的答案產生了棕色虛線(x 軸)

(current axis.left of origin) -- (current axis.right of origin)

我認為簡單地使用 的tikzcalc就可以讓我調整水平線的垂直位置。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}

在此輸入影像描述

相關內容