考虑以下情节。
\documentclass{scrartcl}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
width=5cm,
height=7cm,
domain=-90:90,
xtick={-90, 0, 90},
ytick={-1, .6, 1, -.2},
]
\addplot {sin(x)};
\addplot {.2 - .4*sin(x)};
\end{axis}
\end{tikzpicture}
\end{document}
假设我想让 y 坐标的刻度标签-1
和0.6
位于左侧,而 y 坐标的刻度标签-0.2
和1
位于右侧。我该怎么做?
答案1
您可以使用条件样式。在这里,我重新排列了刻度并使用轴width
来指定xshift
。
% arara: lwpdflatex
\documentclass[tikz,margin=3pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
scale only axis,
width=5cm,
height=7cm,
domain=-90:90,
xtick={-90, 0, 90},
ytick={-1,-0.2,0.6,1},
every y tick label/.append style={
xshift={isodd(\ticknum) ? \pgfkeysvalueof{/pgfplots/width} : "0pt"},
anchor={isodd(\ticknum) ? 180 : 0}
},
]
\addplot {sin(x)};
\addplot {.2 - .4*sin(x)};
\end{axis}
\end{tikzpicture}
\end{document}