y 軸刻度線處的標籤「ma + b」位於刻度線的左側。我希望它位於刻度線的右側。 (該指令extra y tick labels={$ma+b$,anchor=east}
沒有移動標籤。)
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\begin{document}
\noindent\hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
axis lines=middle,
xmin=-4,xmax=4,samples=101,
xlabel=$x$,ylabel=$y$,
ymin=-7,ymax=5.5,
restrict y to domain=-7:5.5,
%enlargelimits={abs=1cm},
axis line style={latex-latex},
ticklabel style={font=\tiny,fill=white},
xtick={\empty},ytick={\empty},
extra x ticks={-1},
extra x tick labels={$a$},
extra y ticks={-3},
extra y tick labels={$ma+b$,anchor=east},
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
%/pgfplots/xlabel shift={10pt};
\addplot[latex-latex,samples=101,domain=-2.5:3] {2*x - 1} node[right, pos=0.75,font=\footnotesize]{$y = mx + b$};
\draw [fill] (-1,-3) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\hspace{\fill}
\end{document}
答案1
鍵值對anchor=east
您放置它的位置沒有影響。這是因為它被視為數組中的下一個元素extra y tick labels
,但從未被排版,因為 中只有一個元素 (-3) extra y ticks
。
另請注意,\hspace{\fill}
您可以使用\hfill
.或者在這種情況下,只需\centering
在您想要居中的群組內使用一次。
無論如何,這是一種使用yticklabel style={anchor=west}
和 的方法yticklabel shift=-4pt
。有更好的鍵可以在無需手動定位的情況下執行此操作,但不幸的是它們僅適用於標準盒裝軸。我還從 MWE 中刪除了一些不必要的項目,並調整了方程式標籤的位置,使其不會在軸的邊緣被截斷。
\documentclass[10pt]{amsart}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\centering
\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
axis lines=middle,
xmin=-4,xmax=4,samples=101,
xlabel=$x$,ylabel=$y$,
ymin=-7,ymax=5.5,
restrict y to domain=-7:5.5,
%enlargelimits={abs=1cm},
axis line style={latex-latex},
ticklabel style={font=\tiny,fill=white},
xtick={\empty},ytick={\empty},
extra x ticks={-1},
extra x tick labels={$a$},
extra y ticks={-3},
extra y tick labels={$ma+b$},
yticklabel style={anchor=west},
yticklabel shift=-4pt,
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
%/pgfplots/xlabel shift={10pt};
\addplot[latex-latex,samples=101,domain=-2.5:3] {2*x - 1} node[right, pos=0.65,font=\footnotesize]{$y = mx + b$};
\draw [fill] (-1,-3) circle [radius=1.5pt];
\end{axis}
\end{tikzpicture}
\end{document}