标题几乎说明了一切...我有一个 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
带有数据预览的对话框。
使用 SQL 获取数据
导入 CSV 中的所有记录后,它们都可用作csv_import
表中的行。通过查询获取所有记录SELECT * FROM csv_table
。
创建图表
运行查询后,您可以将结果面板切换到图表模式并创建图表。我使用您的 CSV 构建了一些示例。
3D 散点图
2D 轮廓直方图
3D 网格
在你的情况下,这是创建表面的简单方法。但不幸的是,它不根据 z 轴着色:
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 轴有一个由z1
、z2
和z3
列组成的矩阵。
访问 sqliteviz文档更多细节。