Позиции меток осей

Позиции меток осей

Я использую pgfplotsдля создания простых теоретических графиков, поэтому я использую стиль линии средней оси. Меня беспокоит то, что

  • Метка оси x:вышевместонижеиливернооси x и
  • Метка оси Y:верновместолевыйиливышеоси Y.

Я тщательно изучил руководство pgfplots (я нахожу его гораздо более сложным и беспорядочным, чем tikzруководство) и пытался регулировать это самостоятельно, используя такие вещи, как every axis x label/.style={at={(current axis.right)},anchor=north west}, но безуспешно. Как мне решить эту проблему?

\documentclass{scrartcl}
\usepackage{pgfplots}

\begin{document}

\pgfplotsset{standard/.style={axis x line=middle,axis y line=middle,enlarge x limits=0.15,enlarge y limits=0.15}}

\begin{tikzpicture}
\begin{axis}[standard,xlabel=$t$,ylabel=$v$,xtick={0,1.7},xticklabels={0,$t_1$},ytick={0,21},yticklabels={0,$v_0$}]
\addplot[thick,color=black] coordinates { (0,21) (1.7,21) (8.7,0) };
\end{axis} 
\end{tikzpicture}

\end{document}

решение1

Вы почти угадали: якоря осей, которые вы ищете, называются current axis.right of originиcurrent axis.above origin . Якоря показаны на очень простых и понятных схемах на страницах 314-315руководство.

\documentclass{scrartcl}
\usepackage{pgfplots}

\begin{document}

\pgfplotsset{
    standard/.style={
        axis x line=middle,
        axis y line=middle,
        enlarge x limits=0.15,
        enlarge y limits=0.15,
        every axis x label/.style={at={(current axis.right of origin)},anchor=north west},
        every axis y label/.style={at={(current axis.above origin)},anchor=north east}
    }
}

\begin{tikzpicture}
\begin{axis}[
    standard,
    xlabel=$t$,
    ylabel=$v$,
    xtick={0,1.7},
    xticklabels={0,$t_1$},
    ytick={0,21},
    yticklabels={0,$v_0$}
]
\addplot[thick,color=black] coordinates { (0,21) (1.7,21) (8.7,0) };
\end{axis} 
\end{tikzpicture}

\end{document}

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