1

我大部分时间都在绘制数据,但不幸的是,我还没有找到适合我的绘图需求的解决方案。目前,我发现执行绘图的最强大、最令人愉快的库是 matplotlib。结果是惊人的,但是当我尝试做一些简单的事情时,我主要花时间与图书馆斗争,比如我想要的箭头。类似 R 和 gnuplot 这样的程序会产生视觉上不那么吸引人的结果,而且它们不是基于 GUI 的。

另一方面,像 xmgrace(或更好的)这样的程序允许直接操纵绘制的对象和直接反馈,但它们在两个重要点上失败了:

  1. 如果我的数据集(通常存储在 csv 文件中)由于某种原因发生更改,我必须重新导入它并再次手动执行操作
  2. 一旦我获得了一个不错的绘图设置,我必须重新创建绘图的唯一方法是使用图形化的交互式程序。我希望有可能在我的 csv 文件上运行命令行实用程序并因此获得 .pdf,而无需人工干预。

我仍然必须找到可以为我提供两全其美的东西,而且价格实惠。理想情况下,我需要一个交互式 GUI 程序(la Origin)来生成基于 matplotlib 的 python 脚本。

是否有人对可以满足我在 OSX(最好)或 Linux 上的需求的软件有任何提示?

4

3 回答 3

4

您可能想查看Igor Pro。它很老,很古怪,但它提供了我在 Mac 上找到的最先进的绘图系统。您可以在命令行或脚本文件中以图形方式修改任何内容。最强大的功能 (IMO) 是能够自动生成脚本以重新创建图形或使用图形创建脚本来生成像(在风格等方面)特定图形的图形。我将 Igor 用于我制作的所有出版物数据。

数据存储在“波”(翻译:向量)中,它封装了数据和有关数据点之间的增量(例如时间步长)的信息。数字参考波作为其数据源。当您更新波形时(例如,通过重新导入 CSV 文件并指定数据覆盖特定波形),所有引用该波形的图形都会自动更新。

您可以创建“布局”,即包含多个图形的页面布局。每当更新布局中的任何图形时,这些布局也会自动更新(见上文)。您可以将绘图/文本/注释添加到图形或 layout.s

请注意:Igor Pro 的脚本语言类似于 VB 和 Matlab 的混蛋。它让我的眼睛流血。它让我向任何上帝祈祷痛苦刚刚结束。整个系统功能强大,值得一试。

于 2009-07-15T16:02:46.300 回答
2

我一直使用 Matlab 或 R 来做这类事情。虽然您可能不喜欢通用图的外观,但我发现一旦我熟悉了这些库,我就可以将它们制作成我想要的样子。

R 是免费的,我会尽量坚持下去。它非常强大,非常适合您的需求(直接从数据文件动态生成图表)。我敢打赌,你越适应它,你就会发现自己使用 R 来完成绘图数据之外的各种任务。

于 2009-07-15T15:49:31.180 回答
1

MathGL是符合您所有标准的跨平台 GPL 库。它可以生成漂亮的图形,它可以读取 csv 文件,它有显示图形的窗口(你不需要知道小部件库),它可以在控制台中绘图(根本不需要窗口或 X)。在此,您可以使用 C/C++/Fortran/Python/... 为您自己的代码或 MGL 脚本以简单起见(请参阅最后一个案例中的UDAV前端)。

最后,它可以生成位图 (PNG/JPEG/GIF/...) 或矢量 (EPS/SVG) 输出。稍后它可以很容易地转换为 PDF。或者您可以直接使用 U3D 创建 PDF——在这种情况下,您将需要 HPDF 和 U3D 库。

于 2011-06-08T06:39:24.403 回答