Связывание функции построения графика сplt.ax `

#python #matplotlib

#python #matplotlib

Вопрос:

У меня есть следующая среда построения графика

 fig = plt.figure(figsize=(15,15))
fig.tight_layout()

ax1  = plt.subplot2grid(shape=(4, 4), loc=(0, 0), colspan=2,rowspan =2) 
ax2 = plt.subplot2grid(shape=(4, 4), loc=(0, 2),colspan=2, rowspan =2)
 

А также есть вызываемая функция plot_curve_and_boundary(cordinates_of_boundary,ref_curve) , которая выдает график, который мне нужен.

Мой вопрос в том, возможно ли получить вывод функции в ax1
Что-то вроде ax1.plot_curve_and_boundary(cordinates_of_boundary,ref_curve) (конечно, этот код не работает)

Ценю вашу помощь

Редактировать

Это тот, plot_curve_and_boundary(cordinates_of_boundary,ref_curve) который я написал для своего проекта. И ниже приведен код этой функции

 def plot_curve_and_boundary(cordinates_of_boundary,curve):
    """
    Input the cordinates of the boundary as an numpy array
        Eg: np.array([[0,0],[6,0],[6,6],[0,6],[0,0]])
    Input the required curve as a dictionary.
    For the curve you need: 
        L_vector,angles, initial point x0 and the initial angle theta_0
    
    You get the image of the boundary and the curve.
    """
    
    L_vector         = curve.get("lengths")
    theta_vector     = curve.get("angles")
    x0               = curve.get("initial_pt")
    theta_0          = curve.get("theta_0")

    
    points_in_the_path=points_in_the_wire(x0,theta_0,theta_vector,L_vector)

    #For the plot:
    boundary_x,boundary_y    = zip(*cordinates_of_boundary) 
    path_x,path_y            = zip(*points_in_the_path)
    
    all_x_values  = [*boundary_x,*path_x]
    all_y_values  = [*boundary_y,*path_y]
    
    x_min =min(all_x_values)-1
    x_max =max(all_x_values) 1
    y_min =min(all_y_values)-1
    y_max =max(all_y_values) 1
    
    
    
    fig = plt.figure(figsize=(8,8))
    #fig = plt.figure()
    plt.suptitle("Curve and the boundary")
    ax = fig.add_subplot(1,1,1)
    
    ax.set_xlim([min(x_min,y_min),max(x_max,y_max)])
    ax.set_ylim([min(x_min,y_min),max(x_max,y_max)])
    
    ax.plot(boundary_x,boundary_y) 
    ax.plot(path_x,path_y,color='red',marker='*')

    return fig 
 

Комментарии:

1. Неясно, как и где plot_curve_and_boundary это реализовано. Это одна из ваших собственных функций? Или это внутри какой-то библиотеки? Стандартным способом для функций этого типа является предоставление параметра plot_curve_and_boundary(..., ax=ax1) , указывающего, на каком подзаголовке создавать график.

2. @BigBen и Йохан Я отредактировал сообщение. Это функция, которую я написал