使用单独的图例在一个图形中复制Python中的相同绘图

使用单独的图例在一个图形中复制Python中的相同绘图,python,matplotlib,plot,Python,Matplotlib,Plot,我想用不同的颜色和图例在同一个图形上复制相同的绘图,这是我的简约工作代码 import matplotlib.pyplot as plt import numpy as np def make_layout(data): fig = plt.figure() ax = fig.add_subplot(111) p, = ax.plot(data,'o') p.set_markerfacecolor('g') # Presumably lots of

我想用不同的颜色和图例在同一个图形上复制相同的绘图,这是我的简约工作代码

import matplotlib.pyplot as plt
import numpy as np

def make_layout(data):
    fig = plt.figure()

    ax = fig.add_subplot(111)

    p, = ax.plot(data,'o')

    p.set_markerfacecolor('g')
    # Presumably lots of complicated settings here

    return fig, ax, p

data = data = np.linspace(0,1)

f1, a1, p1 = make_layout(data)
f2, a2, p2 = make_layout(data**2)


p2.set_markerfacecolor('yellow')
这是我在不同的图中得到的两个图,它们看起来不一样。我该怎么做?谢谢你的帮助


我想把它们合并到一个相同的图形中。我还想添加图例和标签

打印功能需要接受轴对象作为参数。然后在函数外部创建图形和轴:

import matplotlib.pyplot as plt
import numpy as np

def make_layout(data, ax):
    p, = ax.plot(data, 'o')
    p.set_markerfacecolor('g')
    return p
因此,要在1个轴上绘制所有内容,您需要执行以下操作:

data = data = np.linspace(0,1)
fig, ax = plt.subplots(nrows=1, ncols=1)
p1 = make_layout(data, ax)
p2 = make_layout(data**2, ax)
p2.set_markerfacecolor('yellow')
如果需要单独的轴,可以执行以下操作:

data = data = np.linspace(0,1)
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2)
p1 = make_layout(data, ax1)
p2 = make_layout(data**2, ax2)
p2.set_markerfacecolor('yellow')

将Axis对象作为参数传递给plotting函数这是我一直在寻找的答案,非常感谢,在1个轴上绘制所有内容正是我想要的。如果我们必须为绘图添加两个图例,并以直线而不是圆形绘图,怎么样。我试过
p,=ax.plot(数据“b-”)
但它正在用蓝线绘制所有的绘图。@user2154227