【发布时间】:2013-12-06 12:02:05
【问题描述】:
我正在用 wxPython 编写一个小应用程序,它有一个 matplotlib 图(使用 wxagg 后端)面板。我想为用户添加将图中当前绘制的 X、Y 数据导出到文本文件的功能。有没有一种非侵入性的方法来做到这一点?我搜索了很多,似乎找不到任何东西,但我觉得它非常简单,就在我面前。
我绝对可以在绘制数据时获取数据并将其存储在某个地方,然后使用它——但这对我的代码的较低级别来说是相当具有侵入性的。如果我能做一些简单的事情,那就更容易了,也更通用了:
x = FigurePanel.axes.GetXData()
y = FigurePanel.axes.GetYData()
希望这有点道理:)
非常感谢!非常感谢任何帮助!
编辑:澄清一下,我想知道如何获取 X、Y 数据。之后写入文本文件很简单;)
【问题讨论】:
-
我发誓我用谷歌搜索了我能想到的所有可能的单词组合,但没有遇到那个帖子!感谢您的链接。
-
我只发现通过谷歌搜索'matplotlib get_xdata',而不是SO的标准搜索。
-
仅供参考:通常,matplotlib 绘图函数返回一个
Artist实例(或艺术家序列,在plot的情况下),其中包含数据、样式信息等。许多艺术家都有get_data和set_data方法(例如你可以做x, y = line.get_data())。对于某些人,该方法可能被称为其他名称(例如scatter返回一个集合,其中等效方法为get_offsets) 一些艺术家(例如ContourSets)不包含对原始输入数据的引用,但这相当罕见。基本上,您希望保留绘图函数的输出。
标签: python matplotlib wxpython