Перемещение метки для галочки

Перемещение метки для галочки

Метка "ma + b" на отметке на оси Y находится слева от отметки. Я хочу, чтобы она была справа от отметки. (Команда 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}

введите описание изображения здесь

Связанный контент