快速数据可视化

计算科学 可视化
2021-12-10 23:28:43

将输出为文本文件的数字数据图形化或可视化的最快和最简单的方法是什么?转移到 Matlab 很慢,Excel 很笨重,自动缩放之类的东西是必不可少的。

3个回答

我认为可视化数据的速度和简单性很大程度上取决于您对可视化工具和预处理工具的熟练程度。我非常支持为此目的编写脚本,因为您可以弄清楚如何完成一项任务,然后将脚本复制并重新用于类似的任务,这样可以节省您的时间。

对于可视化,这实际上取决于“图形数值数据”和“可扩展性”的含义。如果您想在 2D 中可视化数据或进行非常简单的 3D 绘图,则 Gnuplot 和 Matplotlib 之类的选项适用于只需要几个处理器来处理计算的数据集。我为 Matplotlib 提供了不同情节(和示例脚本)的杰出画廊的优势;Gnuplot 有一个类似的画廊

如果“可扩展性”是指“更大的数据集”,您可能需要更多类似于 Paraview 或 VisIt 的东西(或者如果您可以访问它们,Tecplot 或 Ensight),因为这些工具通常具有让你使用更多的处理器,如果你的意思是你正在处理非常大的数据集,它可以处理可伸缩性。如果通过“可扩展性”,您的意思是“为大量数据集生成相同的图”,您可能只想使用可以编写脚本的东西,然后将其包装在某种for循环中。您可以在我提到的任何软件包中执行类似的操作;它们中的大多数都有 Python 接口或与其他语言的接口(Ensight 和 Tecplot 可能除外)。

使用 Paraview 或 VisIt 的另一个优点是它们具有出色的后处理功能,可用于处理数据和多种类型的 3D 绘图。如果您使用 Python 之类的语言编写脚本,也可以进行手动后处理。在读取数据时存在类似的二分法。更复杂的可视化包,如 Paraview 或 VisIt,有许多不同的内置转换器,用于从文本格式(HDF5、VTK、GMV、Ensight 格式、FLASH 天体物理数据)读取数据,或者您可以使用自己喜欢的脚本中的库手动编写脚本语言(我的是 Python,并且有 Python 包可以读取许多不同的文本格式)。

不过,真的,这取决于你喜欢什么。如果你不喜欢 MATLAB,那么我会推荐 Python 来完成更简单的任务,因为我认为在各种平台上安装必要的包更容易(为了快速设置,Python 发行版,如AnacondaCanopy Express是很好的选择;如果您愿意,您也可以手动安装所有内容)。在 Windows 中安装任何东西都是一件非常痛苦的事情,但 Python 发行版通常似乎比手动安装或尝试安装某种包管理器(如包含 Gnuplot 的 Cygwin)更好。我还认为 Python 代码比 Gnuplot 脚本更具可读性,您更有可能找到可以复制的有用 Python 代码片段,并且有更多 Python 用户可以帮助您。

对于更复杂的东西,这真的是 Paraview 和 VisIt 之间的折腾。我都用过。VisIt 对我来说更直观,没有阅读文档;我更喜欢 Paraview 的文档,而且我可以用 Paraview 做更多的事情。

无论您选择什么,如果您喜欢,就坚持下去,成为专家级用户。

Gnuplot在这里做得很好。你也可以试试这个Matplotlib 的命令行界面后者的界面类似于GNU plotutils的界面,它为您提供了第三种选择。

我喜欢使用 R 进行所有绘图。我要做的是从文本文件中复制数据(通常是分隔的)。然后,我将在 R 中使用 x1<-readClipboard()。之后,t(sapply(strsplit(x1,"\t"),function(x)as.numeric(x)))->res

您的数据位于“res”对象中。你可以制作各种情节。如此简单,在 R 中复制并输入这两个命令。另外,请记住将第二行中的“\t”替换为数据的分隔符(可能是逗号、空格或制表符)。而且,您必须输入 x1<-readClipboard() 命令,否则剪贴板将被该命令替换。对于将其放入 res 的另一个,您可以将其复制粘贴到 R 中。您还可以从 excel 文件、db 可视化工具等中复制。