Python - 一个图中的两个数字

时间:2016-09-30 14:09:50

标签: python matplotlib

我有两个python绘图函数:

def plotData(data):
    fig, ax = plt.subplots()
    results_accepted = data[data['accepted'] == 1]
    results_rejected = data[data['accepted'] == 0]
    ax.scatter(results_accepted['exam1'], results_accepted['exam2'], marker='+', c='b', s=40)
    ax.scatter(results_rejected['exam1'], results_rejected['exam2'], marker='o', c='r', s=30)
    ax.set_xlabel('Exam 1 score')
    ax.set_ylabel('Exam 2 score')
    return ax

第二个功能是:

def plot_boundry(theta,x):
    """
    """
    plt.figure(1)
    px = np.array([x[:, 1].min() - 2, x[:, 1].max() + 2])
    py = (-1 / theta[2]) * (theta[1] * px + theta[0])
    fig, ax = plt.subplots()
    ax.plot(px, py)
    return ax

我打电话给他们:

#####PLOT ######
ax = plotData(df)
ax = plot_boundry(opt_theta, x)

我得到2个单独的情节:
enter image description here

enter image description here

我有2个单独的图片。如何将两个图添加到一个。 情节都应该是一个情节。

1 个答案:

答案 0 :(得分:2)

这完全取决于你想要的东西:

  1. 如果您希望覆盖两个数字,则可以在第一个之后调用hold (True),然后绘制第二个数字,然后调用hold(False)

    < / LI>
  2. 如果你想要将这两个数字放在一个图中,但是并排(或者一个在另一个上),那么你可以使用subplot。例如,在绘制第一个之前调用subplot(2, 1, 1),然后在第二个之前调用subplot(2, 1, 2)