这里没什么特别的。我只有显示坐标轴的代码。我有一个文件,其中在笛卡尔平面上绘制了各种函数的显示,并在笛卡尔平面上绘制了一对相交线、三角形、平行四边形或其他多边形的显示。轴标记为x
和y
。在绘制函数的情况下,规范
xlabel style={at={(ticklabel* cs:1)},anchor=north west}
和
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
在环境中使用 来axis
标记轴。在绘制线或多边形的情况下,会发出节点命令。我希望 和 的定位x
保持y
一致。
在下面的代码中,只绘制了轴。我x
使用以下命令定位。
\coordinate (x-label) at ($(5,0) +({1em*0.6},-0.6em)$);
\node[red] at (x-label){$x$};
y
我使用以下命令来定位。
\coordinate (y-label) at ($(0,5) +({1em*(2/3)},{1em*(2/3)})$);
\node[red] at (y-label){$y$};
它们没有将x
和y
精确地定位在环境中的x
和之上。为什么水平和垂直偏移“接近”以获得合适的位置,但接近获得合适的位置?如何让和在此文件中始终处于正确位置?y
axis
1em*0.6
x
{1em*(2/3)
y
x
y
\documentclass{amsart}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\noindent \hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[width=5in,axis equal image,clip=false,
axis lines=middle,
xmin=-5,xmax=5,
ymin=-1.5,ymax=5,
restrict y to domain=-1.5:5,
xtick={\empty},ytick={\empty},
axis line style={latex-latex},
xlabel=$x$,ylabel=$y$,
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
\draw[latex-latex] (-5,0) -- (5,0);
\coordinate (x-label) at ($(5,0) +({1em*0.6},-0.6em)$);
\node[red] at (x-label){$x$};
\draw[latex-latex] (0,-1.5) -- (0,5);
\coordinate (y-label) at ($(0,5) +({1em*(2/3)},{1em*(2/3)})$);
\node[red] at (y-label){$y$};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我不知道你为什么特别想这样做,但你可以通过以与环境相同的方式指定它们来使它们始终处于定位状态axis
:
\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
width=5in,
axis equal image,
clip=false,
axis lines=middle,
xmin=-5,
xmax=5,
ymin=-1.5,
ymax=5,
restrict y to domain=-1.5:5,
xtick={\empty},
ytick={\empty},
axis line style={latex-latex},
xlabel=$x$,
ylabel=$y$,
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west},
]
\draw[latex-latex] (-5,0) -- (5,0);
\draw[latex-latex] (0,-1.5) -- (0,5);
\node [red, anchor=south west] at (0,5) {$y$};
\node [red, anchor=north west] at (5,0) {$x$};
\end{axis}
\end{tikzpicture}
\end{document}
2/3 之类的数字总是会涉及一定的不精确性,但一般来说,TikZ/PGF 的精度有限,因为它是在 TeX 中实现的。