![TikZ 3D 图形存在问题](https://linux22.com/image/433654/TikZ%203D%20%E5%9B%BE%E5%BD%A2%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98.png)
我想在 tikz 中绘制一个 3D 图形;类似于 z=x/y,这是我编写的代码:
\begin{tikzpicture}
\begin{axis} [
title = {Campo in funzione della forza e della carica},
xtick = {-12,-9,...,12},
ytick = {-9,-6,...,12},
xlabel = $\vec{F}$, ylabel = $q$,
ticklabel style = {font = \scriptsize},
grid
]
\addplot3 [surf, domain=-12:12, samples=50]
{ x/y };
\end{axis}
\end{tikzpicture}
问题是,图形无论如何都不应该存在,我试图解决这个问题,也许使用渐近线而不是 tikz,但我仍然无法绘制它。
答案1
您的描述有点难以理解,但可能您的意思是图形也显示在y=0
且函数未定义的区域中。由于样本设置为偶数,因此在 处没有计算任何绘图点y=0
,因此不会发生这种情况。您仍然可以使用某些限制来截断绘图,例如restrict z to domain=-5:5
。(如果您使用的是旧版本,请将 替换\pgfplotsset{compat=1.18}
为\pgfplotsset{compat=newest}
。)
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
title = {Campo in funzione della forza e della carica},
xtick = {-12,-9,...,12},
ytick = {-9,-6,...,12},
xlabel = $\vec{F}$, ylabel = $q$,
ticklabel style = {font = \scriptsize},
grid
]
\addplot3 [surf, domain=-12:12, samples=50,restrict z to domain=-5:5]
{ x/y };
\end{axis}
\end{tikzpicture}
\end{document}