我正在尝试使用参数方程在 PGFPlots 中绘制三维半圆弧。这是相关代码。
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
ticks=none,
view = {135}{20},
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
xmin=-1, xmax=1,
ymin=-1, ymax=1,
zmin=0, zmax=1,
unit vector ratio = 1 1 1,
]
\addplot3[domain=-0.25*pi:0.75*pi,red]
({0.5*cos(deg(x))},{0.5*sin(deg(x))},{0.5});
\end{axis}
\end{tikzpicture}
\end{document}
但它看起来并不像我想要的那样。我不想让弧的两端连接起来。我该如何解决这个问题?提前谢谢!
答案1
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
ticks=none,
view={135}{20},
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
xmin=-1, xmax=1,
ymin=-1, ymax=1,
zmin=0, zmax=1,
%unit vector ratio = 1 1 1,
axis equal,
scale mode=none,
trig format plots=rad,
]
\addplot3[domain=-0.25*pi:0.75*pi, red, samples y=1]({0.5*cos(x)},{0.5*sin(x)},{0.5});
\end{axis}
\end{tikzpicture}
\end{document}
摘自手册第 125 页
如果您使用
\addplot3
表达式,mesh/rows
和mesh/cols
是根据值样本和计算的samples y
。默认情况下,\addplot3
表达式始终对网格进行采样。如果您希望它对一条线进行采样,请设置samples y=1
(或等效地y domain=0:0
)。