matplotlib:如何返回matplotlib对象然后将其绘制为子图?

时间:2018-08-28 09:27:45

标签: python python-3.x matplotlib

我检查了此Matplotlib returning a plot object,但它确实不符合我的问题。

我想做的是:

def func1():
   fig1 =  plt.plot (np.arange(0.0, 5.0, 0.1))
   return fig1

def func2()
   return plt.plot (np.arange(0.0, 5.0, 0.02))


fig1 = func1()
fig2 = func2()
plt.figure()
plt.add_subplot(fig1)
plt.add_subplot(fig2)
plt.show()

上面的代码只是一个主要思想。你能建议我怎么做吗?

谢谢

1 个答案:

答案 0 :(得分:4)

该想法是让您的函数绘制到一个轴上。您可以将此轴作为函数的参数,或者让它采用当前轴。

import matplotlib.pyplot as plt
import numpy as np

def func1(ax=None):
    ax = ax or plt.gca()
    line, = ax.plot (np.arange(0.0, 5.0, 0.1))
    return line

def func2(ax=None):
    ax = ax or plt.gca()
    line, = ax.plot (np.arange(0.0, 5.0, 0.02))
    return line


fig, (ax1,ax2) = plt.subplots(ncols=2)
func1(ax1)
func2(ax2)

plt.show()