Dos símbolos adyacentes en la leyenda matplotlib

Me gustaría identificar dos símbolos diferentes (con colores diferentes) en la misma línea en una leyenda. A continuación, intenté hacer esto con Proxy Artists, pero el resultado es que se astackn uno encima del otro en la leyenda. Los quiero uno al lado del otro o uno encima del otro, para que ambos estén visibles.

from pylab import * import matplotlib.lines as mlines #define two colors, one for 'r' data, one for 'a' data rcolor=[69./255 , 115./255, 50.8/255 ] acolor=[202./255, 115./255, 50.8/255 ] #Plot theory: ax2.plot(rho, g_r, '-',color=rcolor,lw=2) ax2.plot(rho, g_a, '-',color=acolor,lw=2) #Plot experiment: ax2.scatter(X_r, Y_r,s=200, marker='s', facecolors='none', edgecolors=rcolor); ax2.scatter(X_a, Y_a,s=200, marker='^', facecolors='none', edgecolors=acolor); #Create Proxy Artists for legend expt_r = mlines.Line2D([], [], fillstyle='none', color=rcolor, marker='s', linestyle='', markersize=15) expt_a = mlines.Line2D([], [], fillstyle='none', color=acolor, marker='^', linestyle='', markersize=15) thry_r = mlines.Line2D([], [], fillstyle='none', color=rcolor, marker='', markersize=15) thry_a = mlines.Line2D([], [], fillstyle='none', color=acolor, marker='', markersize=15) #Add legend ax2.legend(((expt_r,expt_a),(thry_r,thry_a)), ('Experiment','Theory')) 

Creo que mi problema es casi exactamente igual al siguiente: ( Matplotlib, leyenda con múltiples marcadores diferentes con una etiqueta ), pero parece que el problema no está resuelto, ya que la respuesta solo muestra un parche encima del otro, que es exactamente lo que me pasa a mi tambien Siento que tal vez necesito hacer un parche compuesto de alguna manera, pero tuve problemas para encontrar cómo hacerlo. ¡Gracias!

Además, no he encontrado cómo hacer que los símbolos de leyenda tengan el mismo aspecto (grosor de línea, tamaño) que los símbolos de dispersión. Gracias de nuevo.

No respondo a tu pregunta principal, lo siento. Sin embargo, con respecto a su último punto

cómo hacer que los símbolos de leyenda tengan el mismo aspecto (grosor de línea, tamaño) que los símbolos dispersos

puede utilizar la palabra clave markerscale del comando legend . Así para igual tamaño

  ax2.legend( ...... , markerscale=1) 

o un cambio de legend.markerscale en rcParams debería hacer.