Mathematica 编程 图表

发布于 2024-08-09 06:31:02 字数 252 浏览 3 评论 0原文

我有一个包含 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌无敌 2024-08-16 06:31:02

这里有两个问题:(1) 如何将数据导入 Mathematica 以及 (2) 如何显示数据。

对于第一个问题,最简单的答案是:这取决于数据的格式。如果文件是支持的类型之一,则“导入”具有多种功能这是无与伦比的。如果您的数据只是制表符(或空格)分隔,请使用“表格”格式,如下所示:

Import["file name", "Table"]

使用各种导入选项指定记录和字段分隔符。或者,您可以使用 ReadList,它只是读取值列表。 形式

value value value ... value
etc.

如果您的数据采用数值

ReadList["file name", Number, RecordLists -> True]

,并且每行都是一个单独的记录,我将使用它将文件加载到矩形数组中的方式导入它。

至于第二个问题,如果您的数据是一组三元组,即 (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:

Import["file name", "Table"]

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

value value value ... value
etc.

where value is numeric and each line is a separate record, I'd import it using

ReadList["file name", Number, RecordLists -> True]

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文