我正在尝试使用pgfplots
来绘制三维空间。使用以下代码,我可以显示轴,并且我知道如何添加坐标和节点以及一些其他对象:
\documentclass [border = .2cm] {standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
axis lines*=middle,
grid style={line width=3pt},%, draw=gray!40},
major grid style={line width=4pt},%,draw=gray!90},
xmin=-10,xmax=10,
ymin=-10,ymax=10,
zmin=-10,zmax=10,
xtick={0},
ytick={0},
ztick={0},
]
\end{axis}
\end{tikzpicture}
\end{document}
该代码产生如下结果:
但我希望主轴线以外的其他网格线显示为灰色。我不知道该如何更清楚地表达这一点——基本上我想要的是这样的:
忽略轴的刻度标记和标签——我所关心的只是重现灰色坐标线坐标平面。我已经看过了文档,pgfplots
但还是搞不清楚我遗漏了什么。如果可能的话,我也有兴趣绘制网格是飞机也是。
答案1
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines*=middle,
xmin=-10, xmax=10,
ymin=-10, ymax=10,
zmin=-10, zmax=10,
ticks=none,
axis on top,
]
\addplot3[mesh, gray!40, domain=-8:8, samples=11, domain y=-8:8, samples y=11, forget plot] {0};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
有了这种差距,我认为唯一的解决方案是绘制一个表面或矩形路径来模拟网格,您可以轻松地使用颜色、不透明度等。这是两者的示例,您还可以显示所需的所有平面。(使用@hpekristiansen 答案进行调整)
\documentclass [border = .2cm] {standalone}
\usepackage{xcolor}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
view={35}{15},
axis lines=center,
xtick={false},ytick={false},ztick={false},
width=15cm,height=15cm,
xmin=-10,xmax=10,ymin=-10,ymax=10,zmin=-10,zmax=10,
xlabel={$x$},ylabel={$y$},zlabel={$z$},
axis on top,
]
\addplot3 [patch, patch refines=4, patch type=rectangle, white, faceted color=red!50 ] coordinates {(-8,0,8) (8,0,8) (8,0,-8) (-8,0,-8)};
\addplot3[mesh, gray!50, domain=-8:8, samples=17, domain y=-8:8, samples y=17] {0};
\end{axis}
\end{tikzpicture}
\end{document}
\end{document}