Mostrando legenda para apenas uma subtrama usando matplotlib

Estou enfrentando um problema ao mostrar a legenda no formato correto usando o matplotlib.

EDIT: Eu tenho 4 subparcelas em uma figura no formato 2 por 2 e quero legenda apenas na primeira subtrama que tenha duas linhas plotadas. A legenda que obtive usando o código anexado abaixo continha entradas infinitas e estendida verticalmente por toda a figura. Quando eu uso o mesmo código usando o linspace para gerar dados falsos, a legenda funciona absolutamente bem.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
import os

#------------------set default directory, import data and create column output vectors---------------------------#

path="C:/Users/Pacman/Data files"
os.chdir(path)
data =np.genfromtxt('vrp.txt')

x=np.array([data[:,][:,0]])

y1=np.array([data[:,][:,6]])
y2=np.array([data[:,][:,7]])
y3=np.array([data[:,][:,9]])
y4=np.array([data[:,][:,11]])
y5=np.array([data[:,][:,10]])

nrows=2
ncols=2
tick_l=6   #length of ticks
fs_axis=16 #font size of axis labels


plt.rcParams['axes.linewidth'] = 2         #Sets global line width of all the axis
plt.rcParams['xtick.labelsize']=14         #Sets global font size for x-axis labels
plt.rcParams['ytick.labelsize']=14         #Sets global font size for y-axis labels



plt.subplot(nrows, ncols, 1)

ax=plt.subplot(nrows, ncols, 1)
l1=plt.plot(x, y2, 'yo',label='Flow rate-fan')
l2=plt.plot(x,y3,'ro',label='Flow rate-discharge')
plt.title('(a)')
plt.ylabel('Flow rate ($m^3 s^{-1}$)',fontsize=fs_axis)
plt.xlabel('Rupture Position (ft)',fontsize=fs_axis)

# This part is not working
plt.legend(loc='upper right', fontsize='x-large')

#Same code for rest of the subplots

Tentei implementar uma correção sugerida no link a seguir, no entanto, não consegui fazê-lo funcionar:como faço para criar uma única legenda para muitas subparcelas com matplotlib?

Qualquer ajuda a este respeito será muito apreciada.

questionAnswers(2)

yourAnswerToTheQuestion