简单,可编程的数据绘图

时间:2009-07-15 15:13:38

标签: macos plot data-visualization

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

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

  1. 如果我的数据集(通常存储在csv文件中)由于某种原因发生了变化,我必须重新导入它并再次手动执行操作
  2. 一旦我获得了很好的绘图设置,我必须重新创建绘图的唯一方法是使用图形化的交互式程序。我希望有可能在我的csv文件上运行一个命令行实用程序并获得.pdf,而无需人工干预。
  3. 我仍然需要找到能够为我提供这两个世界的东西,并且它具有实惠的价格。理想情况下,我需要一个交互式GUI程序(la Origin)来生成基于matplotlib的python脚本。

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

3 个答案:

答案 0 :(得分:4)

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

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

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

警告:Igor Pro的脚本语言就像VB和Matlab的混蛋。它让我的眼睛流血。它让我为痛苦刚刚结束的上帝祈祷。 整个系统非常强大,值得。

答案 1 :(得分:2)

我总是使用Matlab或R来做这类事情。虽然您可能不喜欢通用图的外观,但我发现,一旦我熟悉了库,我就可以将它们视为我希望它们的幻想。

R是自由的,我会试着坚持下去。它非常强大,非常适合您的需求(直接从数据文件生成图表)。我敢打赌,你越熟悉它,你会发现自己使用R来完成绘制数据之外的各种任务。

答案 2 :(得分:1)

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

最后它可以产生位图(PNG / JPEG / GIF / ...)或矢量(EPS / SVG)输出。之后它可以轻松转换为PDF。或者您可以直接使用U3D创建PDF - 在这种情况下您需要HPDF和U3D库。