有什么好的 Linux 程序可以根据坐标的 csv 文件制作深度图或 3d 平面?

有什么好的 Linux 程序可以根据坐标的 csv 文件制作深度图或 3d 平面?

标题几乎说明了一切...我有一个 csv 文件中间隔均匀的点列表,如下所示:

x,y,z
5,3,3.2
5,6,4.3
5,9,5.4
10,3,4
10,6,3.8
10,9,3.6
15,3,4.8
15,6,4
15,9,3.5

我需要它们的深度图或 3D 平面。有什么好用的简单程序吗?或者,如果不简单,有没有一些易于遵循的说明?

答案1

这类事情的标准程序是gnuplot。主页是

www.gnuplot.info

这里有一个关于数据 3D 绘图的介绍:

http://t16web.lanl.gov/Kawano/gnuplot/datafile-e.html#3dim

答案2

你可以试试sqliteviz我是它的作者。它是一款免费的开源离线优先 PWA,可让您将 CSV 文件转换为 SQLite 数据库,该数据库可在浏览器中运行sql.js之后,您可以使用SELECT语句获取数据并创建各种情节根据结果​​集绘制图表。

将 CSV 转换为数据库

选择您的 CSV 文件。Sqliteviz 将向您显示Import CSV带有数据预览的对话框。 sqliteviz CSV 导入对话框

使用 SQL 获取数据

导入 CSV 中的所有记录后,它们都可用作csv_import表中的行。通过查询获取所有记录SELECT * FROM csv_tablesqliteviz查询结果集

创建图表

运行查询后,您可以将结果面板切换到图表模式并创建图表。我使用您的 CSV 构建了一些示例。

3D 散点图

sqliteviz 图表 3D 散点图示例

2D 轮廓直方图

sqliteviz 图表 2D 轮廓直方图示例

3D 网格

在你的情况下,这是创建表面的简单方法。但不幸的是,它不根据 z 轴着色: 3D 网格

3D 表面

这是一个棘手的情况。问题是你需要有一个数据透视表。因此你的 CSV 应该如下所示:

x,y,z1,z2,z3
5,3,3.2,4,4.8
10,6,4.3,3.8,4
15,9,5.4,3.6,3.5

你可以用以下方式生成Google 表格, 例如: 枢 现在您可以构建 3D 表面。请注意,z 轴有一个由z1z2z3列组成的矩阵。 sqliteviz 3d表面

访问 sqliteviz文档更多细节。

相关内容