缩放 tikz 图片时设置轴标签

缩放 tikz 图片时设置轴标签

这是我的代码。

\begin{tikzpicture}[scale=1.5]
\begin{axis}[
    view/h=150, view/v=10,
    axis equal,
    axis lines=center, ticks=none,
    xmin=-2, xmax=2, ymin=-3, ymax=5, zmin=-2, zmax=2,
    xlabel={$x$},
    ylabel={$y$},
    zlabel={$z$},
    ]
\addplot3 [
    domain=0:360,
    samples=50,
    red,
    thick,
    ]
    ({cos(x)},{0},{sin(x)});    

\addplot3[
    opacity=0.7,
    mesh,
    gray,
    z buffer=sort,
    samples=50,
    variable=\u,
    variable y=\v,
    domain=0:360,
    y domain=0:2
    ]
    ({cos(u)},{v},{sin(u)});
\addplot3 [
    domain=0:360,
    samples=50,
    red,
    thick,
    ]
    ({cos(x)},{2},{sin(x)});
\end{axis}

\end{tikzpicture}

这是我的图像。

在此处输入图片描述

我怎样才能将标签放置在每个轴的尖端?另外,由于我在上面使用了 scale=1.5,字体被放大了。我怎样才能在代码中调整它们的大小?

答案1

您可以将刻度标签放置在以下样式中

xlabel style={at={(ticklabel* cs:1.05)},anchor=east}

在所需位置。如果您希望刻度标签更靠近箭头尖端,请减小到较小的值1.05。为了增加绘图,请不要使用,scale而是更改。将减小到 0 是有意义的,您只需绘制一维图。此外,您可能希望重新绘制 y 轴的可见部分,以使图片更像 3d。库已加载,因为它已加载,因此允许我们确定这个可见部分。widthaxissamples yfillbetweenintersections

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}%[scale=1.5]
\begin{axis}[width=12cm,
    view/h=150, view/v=10,
    axis equal,
    axis lines=center, ticks=none,
    xmin=-2, xmax=2, ymin=-3, ymax=5, zmin=-2, zmax=2,
    xlabel={$x$},xlabel style={at={(ticklabel* cs:1.05)},anchor=east},
    ylabel={$y$},ylabel style={at={(ticklabel* cs:1.05)},anchor=160},
    zlabel={$z$},zlabel style={at={(ticklabel* cs:1.05)},anchor=south},
    ]
\addplot3 [
    domain=0:360,
    samples=50,
    red,
    thick,samples y=0,
    ]
    ({cos(x)},{0},{sin(x)});    

\addplot3[
    opacity=0.7,
    mesh,
    gray,
    z buffer=sort,
    samples=50,
    variable=\u,
    variable y=\v,
    domain=0:360,
    y domain=0:2,%samples y=2,
    ]
    ({cos(u)},{v},{sin(u)});
\addplot3 [name path=front,
    domain=0:360,
    samples=50,
    red,
    thick,samples y=0,
    ]
    ({cos(x)},{2},{sin(x)});
\path[name path=yaxis] (0,0,0) -- (0,\pgfkeysvalueof{/pgfplots/ymax},0);
\draw[name intersections={of=front and yaxis}]
 (intersection-1) -- (0,\pgfkeysvalueof{/pgfplots/ymax}-0.1,0);
\end{axis}

\end{tikzpicture}
\end{document}

在此处输入图片描述

顺便说一句,为了将来,我恳请您提供以 开头\documentclass和结尾的完整但最少的代码\end{document}

相关内容