说明文档里有几个例子,有个例子是是公式,还有一个有dat文件,超链接打不开,我自己写的数据通不过,求大佬帮忙看看数据格式应该是怎样的。
这里是pgfplots说明文档4.6.9小节的一个例子:
\documentclass[10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={$x \exp(-x^2-y^2)$},
domain=-2:2,
view={0}{90},
colorbar horizontal,
]
\addplot3 [
contour filled={
number=14,
},
] {exp(-x^2-y^2)*x};
\end{axis}
\end{tikzpicture}
\end{document}
这里是我自己仿照写的,数据是我自己猜想的,只有xyz三列,不知道应该是怎样的。
main.tex
参照手册的例子,把你的数据保存为文件 datafile.dat
, 然后
\pgfplotstableread{datafile.dat}\datatable
\begin{tikzpicture}
\begin{axis}[
view={160}{45},
colorbar horizontal]
\addplot3 [
mesh/ordering=y varies,
mesh/rows=48,
contour filled={
number=40,
handler/.style=smooth,
}]
table {\datatable};
\end{axis}
\end{tikzpicture}
得到
你的数据没有 scanline, 而且是先让 y 变量变化,再让 x 变量变化,所以需要参考以下选项
/pgfplots/mesh/rows
/pgfplots/mesh/cols
/pgfplots/mesh/ordering
/pgfplots/mesh/num points
这个数据震荡有点大,总之去掉了contour filled就可以生成了,不是很了解是否一定需要contour filled
数据保存在了data.txt,这种大量的数据应该用文件保存起来,放在同一路径下
\documentclass[10pt]{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{width=10cm,compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view = {120}{60}, colorbar horizontal, xlabel = $x$, ylabel = $y$, zlabel = $z$]
\addplot3 [mesh/rows=2448, surf] table [x = x, y = y, z = z] {data.txt};
\end{axis}
\end{tikzpicture}
\end{document}
大佬太强啦,就是要这样的效果,还想请问大佬ordering这个选项是说明文档里面提供的吗?我搜索了一下没有搜索到啊。