我需要一个具有四个象限的坐标系,并将标签置于 x 轴和 y 轴箭头的中心。
我能够使用xshift
和手动完成此操作,yshift
但我更希望有可以自动将标签居中的功能。
\documentclass[tikz]{standalone}
\usepackage{amsmath}
\usepackage{lmodern}
\usepackage{pgfplots}
\let\Re\undefined
\let\Im\undefined
\DeclareMathOperator{\Re}{\operatorname{Re}}
\DeclareMathOperator{\Im}{\operatorname{Im}}
%\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
font=\fontsize{8}{9}\selectfont,
]
\begin{axis}[
axis lines=center,
no markers,
cycle list name=exotic,
xlabel={$\Re\left(\alpha\right)$},
ylabel={$\Im\left(\alpha\right)$},
xmin=-1,
xmax=+1,
ymin=-1,
ymax=+1,
x label style={
at={(ticklabel cs:1.0)},
anchor=north,
rotate=90,
xshift=16,
},
y label style={
at={(ticklabel cs:1.1)},
xshift=12.0
},
]
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您可以使用axis description cs:
左下角位于(0,0)
和右上角位于 的位置(1,1)
。
\documentclass[tikz]{standalone}
\usepackage{amsmath}
\usepackage{lmodern}
\usepackage{pgfplots}
\let\Re\undefined
\let\Im\undefined
\DeclareMathOperator{\Re}{\operatorname{Re}}
\DeclareMathOperator{\Im}{\operatorname{Im}}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
font=\fontsize{8}{9}\selectfont,
]
\begin{axis}[
axis lines=center,
no markers,
cycle list name=exotic,
xlabel={$\Re\left(\alpha\right)$},
ylabel={$\Im\left(\alpha\right)$},
xmin=-1,
xmax=+1,
ymin=-1,
ymax=+1,
x label style={
at={(axis description cs:1,0.5)},
anchor=north,
rotate=90,
},
y label style={
at={(axis description cs:0.5,1)},
anchor=south,
},
]
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这也是获得你想要的东西pstricks
:
\documentclass[11pt, svgnames]{article}
\usepackage{mathtools}
\DeclareMathOperator{\re}{Re}
\DeclareMathOperator{\im}{Im}
\usepackage{pst-plot}
\begin{document}
\pagestyle{empty}
\psset{unit=3cm, arrowinset=0.12, linejoin=1, showorigin=false}
\begin{pspicture}(-1.1,-1.1)(1.1,1.1)
\psaxes[linewidth=1pt, Dx=0.5, Dy=0.5]{->}(0,0)(-1,-1)(1.1,1.1)%ce
\uput[u](0,1.1){$ \im(\alpha) $}
\uput[r]{90}(1.1,0){$ \re(\alpha) $}
\end{pspicture}
\end{document}