10 曲线上的样例点如何与一组等高线图里的局部位置连接

发布于 2023-07-29 13:47:36

曲线上的取几个样例点,如何与一组等高线图里的局部位置一一对应。
像例图所表达的类似含义,在蓝色曲线下面如何添加出来?
quest500.jpg
quest501.jpg

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\draw [blue,thick,
declare function={
lines(\t,\a,\b,\c)=0.5*(sin((\t r))+sin((\t r)*\a)+sin((\t r)*\b))+cos((\t r)*\c)+0.036*exp(\t);
}]
plot [domain=-pi:pi, samples=60,smooth] (\x,{lines(\x,4,2,0.2)});
\end{tikzpicture}
\end{document} 

查看更多

关注者
0
被浏览
949
1 个回答
越来越少
越来越少 2023-08-01
这家伙很懒,什么也没写!

编译下面的代码

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{plotmarks}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
  \begin{axis}
    \addplot3 [
      domain=0:1,
      samples=10,
      contour/number=5,
      contour gnuplot,
    ]
      {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}

  \begin{axis}
    \addplot3 [
      domain=0:1,
      samples=10,
      contour gnuplot={contour dir=y,levels=0.5},
    ]
      {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}

后, 在主文件目录下会有两个 .table 文件, 其中就是绘制等高线的数据, 如果不嫌麻烦的话, 可以利用这些数据绘制需要的图形. 问题中的图形是平面图形, 只用到 .table 文件中的第一, 第二列数据.

如果觉得图形不够精确, 可以尝试增加 sample 的数量.

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览