26

我觉得我应该通过提到我是一名化学工程师而不是训练有素的程序员(但我愿意学习)来开始这个问题。

我处理了很多光谱,这些光谱本质上是由光谱仪特定软件生成的带有 x,y 坐标的 ASCII 文件。用于分析的标准软件是来自Originlab的 Origin,但我发现它对用户不友好,它的功能比我需要的多得多,而且它不是免费的。

所以我希望有一种方法可以为 matplotlib 开发一个前端,允许使用带有 GUI 的 matplotlib。我希望能够从 ASCII 文件中读取和绘制数据,在绘图中放大和缩小,调用诸如峰值检测和拟合函数之类的脚本,其中可以在 GUI 中输入函数特定参数。

我只是不知道从哪里开始,所以问题真的是:为 matplotlib 开发前端/GUI 的最简单方法是什么,它允许我对上面提到的东西进行编程?此外,最终,跨平台应用程序会很好,因为我小组中的许多人都在 Windows 中工作。

4

2 回答 2

15

还可以查看 Eli Bendersky 网站上的好例子:

于 2011-03-13T09:14:20.437 回答
1

我不确定你在问什么。Matplotlib 已经有一个交互式 GUI,例如,如果你从 Python shell 或 ipython 调用它。你读入或构建你的数据,当你调用 时plot(),你会得到一个可缩放的窗口,你可以从中保存图像等。

您可以为峰值检测等事情编写自己的例程,然后从终端以交互方式调用它们。归根结底,只要您的函数生成一组 (x, y) 数据,您就可以交互式地绘制它。那时的体验很像 Matlab。这是我认识的大多数科学家使用 matplotlib 的方式。

在考虑任何类型的 GUI 编程之前,我肯定会先尝试这种方法,看看它是否能满足您的需求 - 特别是如果您不是受过培训的程序员。

于 2011-03-12T22:37:26.550 回答