这是一个最小的工作示例:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{tikz-3dplot}
\usepackage{hyperref}
\usepackage{ifthen}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[samples=60]
%\addplot3[surf, domain=-2:2] {x^2-y^2};
% y=constant grids lines
\foreach \yy in {-2.0,-1.0,...,2.0}
{
\addplot3[domain=-2:2, line width=0.1mm, mark=none, color=red]
({x}, {\yy}, {x^2-\yy*\yy});
}
\end{axis}
\end{tikzpicture}
\end{document}
问题是:为什么 pgfplots 会连接我的第一个和最后一个样本值?顶部的水平线不应该存在。这里绘制的方程是鞍点 x^2-y^2=z。在代码中,我固定了 $y=-2,-1,0,1,2$,并在 -2 和 2 之间改变 x。
谢谢。
答案1
参数“samples y=0”解决了我的问题。以下是代码和图片:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{tikz-3dplot}
\usepackage{hyperref}
\usepackage{ifthen}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[samples=60]
%\addplot3[surf, domain=-2:2] {x^2-y^2};
\foreach \xx in {-2.0,-1.0,...,2.0}
{
\addplot3+[domain=-2:2, line width=0.1mm, mark=none, color=black, xlabel=$x$,
samples y=0, color=red]
({\xx}, {x}, {\xx*\xx-x^2});
}
% y=constant grids lines
\foreach \yy in {-2.0,-1.0,...,2.0}
{
\addplot3[domain=-2:2, line width=0.1mm, mark=none, color=black, samples y=0,
color=red]
({x}, {\yy}, {x^2-\yy*\yy});
}
\end{axis}
\end{tikzpicture}
\end{document}