各位老师:
如何使用样例代码,像下面彩图那样增加画出ABC位置的类似图?
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{plotmarks}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title=Example surf,
xlabel=$x$,
ylabel=$y$]
\addplot3[surf,
mesh/interior colormap={blueblack}{color=(black) color=(white)},
colormap/blackwhite, samples=30,
domain=0:1]
{sin(deg(2*pi*x))* exp(-10*(y-0.5)^2)
+ exp(-(x-0.5)^2*10
- (y-0.25)^2 - (x-0.5)*(y-0.25))};
\end{axis}
\end{tikzpicture}
\end{document}
这个图就是下面的代码. 使用 LuaLaTeX 编译, 如果觉得编译太慢, 请事先修改选项 samples
的值.
各个选项的用法可以参考 pgfplots 手册.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{plotmarks}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
samples=100,
width=30cm,
xmin=-1,xmax=2,
ymin=-1,ymax=2,
zmin=-2,zmax=2,
contour/number=10
]
\addplot3 [
domain=0:1,
contour lua,
z filter/.code={\def\pgfmathresult{-2}},
]
{sin(deg(2*pi*x))* exp(-10*(y-0.5)^2) + exp(-(x-0.5)^2*10 - (y-0.25)^2 - (x-0.5)*(y-0.25))};
\addplot3 [
domain=0:1,
contour lua={contour dir=x},
x filter/.code={\edef\pgfmathresult{-1}},
]
{sin(deg(2*pi*x))* exp(-10*(y-0.5)^2) + exp(-(x-0.5)^2*10 - (y-0.25)^2 - (x-0.5)*(y-0.25))};
\addplot3 [
domain=0:1,
contour lua={contour dir=y},
y filter/.code={\edef\pgfmathresult{2}},
]
{sin(deg(2*pi*x))* exp(-10*(y-0.5)^2) + exp(-(x-0.5)^2*10 - (y-0.25)^2 - (x-0.5)*(y-0.25))};
\addplot3 [
surf,
mesh/interior colormap={blueblack}{color=(black) color=(white)},
colormap/blackwhite, samples=30,
domain=0:1,
]
{sin(deg(2*pi*x))* exp(-10*(y-0.5)^2) + exp(-(x-0.5)^2*10 - (y-0.25)^2 - (x-0.5)*(y-0.25))};
\end{axis}
\end{tikzpicture}
\end{document}
用LuaLaTeX编译。
还是不成功,老师看下我vscode里配置有问题吗
@U7117 截图不像 vscode 啊,把
.log
发出来看看。最初我用Texstudio(4.0.0)编译出错,后改用vscode(1.80)也出错。老师有时间分析下,万分感谢。
{{document_space_surf01_quest1.log(uploading...)}}
document_space_surf01_quest1.rar
@U7117 log 里说你是用 XeLaTeX 编译的。vscode 里点击 Build LaTeX Project > Recipe: lualatex
我记得
/pgfplots/contour lua
好像是最近的版本(2021年)新加的选项. 可以把这个选项改为contour gnuplot
试试 (记得 shell-escape), 要不就更新一下版本试试.谢谢老师们的解答, 这个shell-escape操作没看懂啥用途。
我在texlive2023下可以编译成功。