数学- CSV到多维图表



我有一个CSV文件,有5列,约2*104行,我需要可视化。

我导入的文件如下:

data = Import["res.csv", "CSV"];`

现在,我想用它生成很多视觉效果——在一个单一的情节上的所有5个维度以及各种横截面。

我的问题:

如果我想从我的数据中选择列1,4和5,并将它们馈送给ListPlot3D,我该怎么做?

并且,列中的值可以分组。所以如果我想要ListPlot3D列1 2 4 5,但是我想把列1和列2组合在同一个轴上,我怎么告诉Mathematica去做呢?

谢谢。

我讨厌不同意其他海报,特别是在它被接受之后,但是Transpose是不必要的。您所要求的几乎所有内容都可以在Part上下文中完成:

ListPlot3D[ data[[All, {1, 4, 5}]] ]

因为在Mathematica中矩阵是按行存储的,所以[[All, {1, 4, 5}]]可以读成[[rows, columns]]。更具体地说,All在这里表示需要所有行,但也可以指定特定的行。另一个可能感兴趣的结构是Span,它用于指定索引组,如果您的CSV文件包含标题行,可以使用

将其从数据中删除。
ListPlot3D[ data[[ 2 ;; , {1, 4, 5}]] ]
对于第二个要求,使用列1和列2作为x坐标,那么只需
ListPlot3D[ {data[[All, {2, 4, 5}]], data[[All, {1, 4, 5}]]} ]

,如果您希望去掉标题行,则将All更改为2;;

如果我没理解错的话,那就是

ListPlot3D[Transpose[{data[[All, 1]], data[[All, 4]], data[[All, 5]]}]]

,对于多个集合:

ListPlot3D[
 {
  Transpose[{data[[All, 1]], data[[All, 3]], data[[All, 4]]}],
  Transpose[{data[[All, 2]], data[[All, 3]], data[[All, 5]]}]
  }
 ]

相关内容

  • 没有找到相关文章

最新更新