交互式调整后保存图形参数

时间:2014-02-03 21:29:35

标签: python matplotlib

我经常发现自己使用matplotlib来快速显示数据,然后回过头来调整我的绘图代码以制作漂亮的数字。在这个过程中,我经常使用交互式绘图窗口来调整间距,缩放,裁剪等等。虽然我可以轻松地将结果图保存到图像文件中,但我真正想要的是保存函数调用/参数的序列。它产生了它。

请注意,我并不特别想再次打开相同的数字(如Saving interactive Matplotlib figures中所示)。即使是能够打印图形和轴的各种属性这样简单的东西也是有用的。

2 个答案:

答案 0 :(得分:1)

虽然我对您的具体问题没有答案,但我一般建议您使用Ipython Notebook来处理这些事情(还有更多!)

确保您在一个单元格中有%pylab inline

绘图时,它会在笔记本中显示。然后在你的单元格中,继续进行实验,直到你正确为止(在单元格中使用Ctrl-Enter)。现在,单元格将包含您需要的所有语句(而不是更多!)

命令行解释器和笔记本之间的区别在于您键入的前所有语句会导致大量混乱。使用笔记本,您可以编辑线路。

答案 1 :(得分:1)

A similar question here 有一个answer I just posted here

要点:使用MatPlotLib的可选图形对象将图形对象保存到文件中。有关完整示例,请参阅上述答案。 这是一个缩短的例子:

fig, ax = matplotlib.pyplot.subplots()
# plot some stuff

import pickle
pickle.dump(  fig,  open('SaveToFile.pickle',  'wb')  )

这确实可以保存所有绘图调整,甚至是GUI子图调整器所做的调整。通过pickle.load()进行取消仍然允许您通过CLI或GUI进行交互。