绘制在三维网格上定义的标量场的二维切片

绘制在三维网格上定义的标量场的二维切片

我有一个如下的 CSV 数据文件

X Y Z T
0 0 0 12420
0 0 1 2154
0 0 2 54565
0 0 3 54640
   .
   .
0 0 10 53565
0 1 0 12420
   .
   .
0 1 10 53565
   .
   .
0 10 10 53565
1  0  0 2454535
   .
   .
10 10 10 6985

它表示一个离散的三维场(例如,T(x,y,z),其中 x、y 和 z 是离散值)。我想使用 pgfplots 包绘制该场的片段(例如,假设原始文件包含此信息,即不需要插值)。为此,我通常会将 CSV 文件拆分为仅包含 z=10 的结果,但我一直在想是否可以直接从原始文件(带有 3D 场)执行此操作,也可以使用 pgfplots?

我知道skip coords between index命令,但到目前为止我还不能将它用于我想要的目的。

答案1

其实我的答案是一样的回答@percusse 给了另一个人问题

该答案是关于过滤表格以忽略某一列中具有特定值的行(在您的情况下z filter/.code={proper stuff here})。

题外话

我认为该答案的标签(pgfplotspgfpolotstable)让您(和其他感兴趣的人)难以找到它。因此,我4d为该答案和该答案都添加了标签,原因如下

  • 3d通常会让人想到两个变量的函数,其中一个3D需要用图来表示函数的“几何形式”(我的意思是表面图),以及2D当函数的值用颜色(我的意思是轮廓)表示时,绘图就足够了。
  • 在你的例子中,你有一个由 3 个变量组成的函数,因此,你需要一个4D情节(这将是一个超曲面图,哈哈,但正如我在评论中所写,没有\addplot4你可以添加的restrict z to domain选项的情节),以及一个3D轮廓图就足够了(3D 网格上的球的颜色取决于函数的值?)。

如果您要发布有关 4d 数据的其他答案,最好使用该标签。也许它对某些人有用。

相关内容