我有一些不是来自某些特定功能的坐标......
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis} [width=16cm,height=19cm,samples=100]
\addplot3[surf] coordinates {
(1,1,70)(2,1,48)(3,1,41)(4,1,70)( 5,1,68)(6,1,82)(7,1,38)(8,1,47)(9,1,35)(10,1,66)(11,1,53)(12,1,78)
(1,2,91)(2,2,43)(3,2,68)(4,2,90)( 5,2,66)(6,2,55)(7,2,66)(8,2,46)(9,2,25)(10,2,38)(11,2,50)(12,2,58)
(1,3,60)(2,3,68)(3,3,39)(4,3,65)( 5,3,59)(6,3,69)(7,3,72)(8,3,62)(9,3,94)(10,3,36)(11,3,33)(12,3,39)
(1,4,48)(2,4,80)(3,4,68)(4,4,66)( 5,4,59)(6,4,63)(7,4,93)(8,4,63)(9,4,30)(10,4,52)(11,4,60)(12,4,14)};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
结果是这样的……
当我把选项弄得顺利的时候,就像那样......
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis} [width=16cm,height=19cm,samples=100]
\addplot3[smooth] coordinates {
(1,1,70)(2,1,48)(3,1,41)(4,1,70)( 5,1,68)(6,1,82)(7,1,38)(8,1,47)(9,1,35)(10,1,66)(11,1,53)(12,1,78)
(1,2,91)(2,2,43)(3,2,68)(4,2,90)( 5,2,66)(6,2,55)(7,2,66)(8,2,46)(9,2,25)(10,2,38)(11,2,50)(12,2,58)
(1,3,60)(2,3,68)(3,3,39)(4,3,65)( 5,3,59)(6,3,69)(7,3,72)(8,3,62)(9,3,94)(10,3,36)(11,3,33)(12,3,39)
(1,4,48)(2,4,80)(3,4,68)(4,4,66)( 5,4,59)(6,4,63)(7,4,93)(8,4,63)(9,4,30)(10,4,52)(11,4,60)(12,4,14)};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
我得到了下一张图片...
我想要的是拥有第一张图像的连续表面,但像第二张图像中的曲线一样平滑,不仅沿 x 轴,而且沿深度...我该如何实现呢???
答案1
您可以采用以下解决方案之一如何根据一组数据绘制曲面?使用gnuplot
PGFPlots 中的后端生成光滑的表面:
\documentclass[border= 5mm]{standalone}
\usepackage{pgfplots, filecontents}
\begin{filecontents*}{data.txt}
1 1 70
2 1 48
3 1 41
4 1 70
5 1 68
6 1 82
7 1 38
8 1 47
9 1 35
10 1 66
11 1 53
12 1 78
1 2 91
2 2 43
3 2 68
4 2 90
5 2 66
6 2 55
7 2 66
8 2 46
9 2 25
10 2 38
11 2 50
12 2 58
1 3 60
2 3 68
3 3 39
4 3 65
5 3 59
6 3 69
7 3 72
8 3 62
9 3 94
10 3 36
11 3 33
12 3 39
1 4 48
2 4 80
3 4 68
4 4 66
5 4 59
6 4 63
7 4 93
8 4 63
9 4 30
10 4 52
11 4 60
12 4 14
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3 [surf] gnuplot [raw gnuplot] {
set dgrid3d 50,50 spline;
splot 'data.txt';
};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
不支持自动平滑表面pgfplots
(即您可以提交功能请求)。
根据您获取数据文件的方式,您可以通过增加样本数量或使用库提供的更高阶数来提高平滑度patch types
(比较pgfplots
patchplots
使用程序图形创建贝塞尔曲面)。
如果您的输入实际上是一个数学表达式,您可能能够依赖patch type sampling
上面提到的链接中说明的功能。
这些解决方法之外的所有内容都需要成为 pgfplots 的功能请求。