如何在python中使用函数返回一个数字(使用matplotlib)?

时间:2013-07-09 13:39:52

标签: python matplotlib ipython-notebook

假设我有一些数据,并且我想通过将其传递给自定义绘图函数(myplot())来创建此数据的图。我在myplot()中使用了matplotlib的模块。

我希望myplot()将句柄返回到图形,而不是在我调用此函数时显示图形。以下是iPython的示例代码和输出。

enter image description here

我有两个问题:

  1. 为什么我仍然会看到一个情节,即使我正在分配输出 myplot()到f?
  2. 当我将myplot()的输出分配给变量时,我需要怎样压制这个图?

2 个答案:

答案 0 :(得分:5)

使用

启动ipython

ipython notebook

而不是

ipython notebook --pylab=inline

enter image description here

答案 1 :(得分:1)

如果您不想以非内联模式启动整个笔记本,可以使用以下代码:

%config InlineBackend.close_figures = False

def myplot(t,x):
    fig = figure()
    x = plot(t,x)
    fig.savefig('plot.png') # This is just to show the figure is still generated
    return fig

t = arange(0,6,0.01)
x = sin(t)

f = myplot(t,x)