Mathematica 编程 图表
我有一个包含 40,000 个数据点的文件。在 Matlab 中,我可以使用绘图命令来绘制绘图:
aaa = Import('file Name');
plot(aaa,mesh)
How do I do it in Mathematica?我尝试过:
aaa = Import["File Name"]
ListPlot3D[aaa]
但是不起作用。
I have a file with 40,000 data points. In Matlab I can use the plot command to draw the plot:
aaa = Import('file Name');
plot(aaa,mesh)
How do I do it in Mathematica? I tried:
aaa = Import["File Name"]
ListPlot3D[aaa]
but it doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有两个问题:(1) 如何将数据导入 Mathematica 以及 (2) 如何显示数据。
对于第一个问题,最简单的答案是:这取决于数据的格式。如果文件是支持的类型之一,则“导入”具有多种功能这是无与伦比的。如果您的数据只是制表符(或空格)分隔,请使用“表格”格式,如下所示:
使用各种导入选项指定记录和字段分隔符。或者,您可以使用 ReadList,它只是读取值列表。 形式
如果您的数据采用数值
,并且每行都是一个单独的记录,我将使用它将文件加载到矩形数组中的方式导入它。
至于第二个问题,如果您的数据是一组三元组,即 (x, y, z),或者只是一组高度值,那么 ListPlot3D 应该可以正常工作。如果您的数据不是 (x, y, z, f) 形式,其中 f 是 (x, y, z) 处的函数值,那么您应该使用 ListContourPlot3D。您可以使用“轮廓”选项指定所需的轮廓。请注意,ListContourPlot3D 可能需要一段时间才能生成绘图,具体取决于数据集的大小。此外,它可能会占用大量内存,在我的机器(G4、MacOS 10.4、2 GB)上,80 x 80 x 80 网格的 ListContourPlot3D 可以轻松占用 500 MB。
You have two issues here: (1) how to import the data into Mathematica and (2) how to display it.
For the first problem, the simplest answer is: it depends on the format of the data. If the file is one of the supported types, Import has a number of capabilities that can't be beat. If your data is just tab (or, whitespace) delimited, use the "Table" format, as follows:
using the various import options to specify the record and field separators. Alternatively, you can use ReadList, which simply reads in a list of values. If your data is of the form
where value is numeric and each line is a separate record, I'd import it using
which loads the file into a rectangular array.
As to the second problem, if your data is a set of triples, i.e. (x, y, z), or just a set of height values, then ListPlot3D should work just fine. If your data is instead of the form (x, y, z, f), where f is the function value at (x, y, z), then you should use ListContourPlot3D instead. You specify which contours you want by using the Contour option. Be warned, ListContourPlot3D may take a while to generate the plot depending on how large your data set is. Also, it can be a memory hog, on my machine (G4, MacOS 10.4, 2 GB) a ListContourPlot3D of an 80 x 80 x 80 grid can easily take 500 MB.