outside - Trazando una línea horizontal en múltiples subparcelas en python usando pyplot
no handles with labels found to put in legend. (1)
Estoy tramando tres subtramas en la misma página. Quiero dibujar una línea horizontal a través de todas las subtramas. A continuación está mi código y el gráfico resultante: (Puedes notar que puedo obtener la línea horizontal en una de las parcelas, pero no todas)
gs1 = gridspec.GridSpec(8, 2)
gs1.update(left=0.12, right=.94, wspace=0.12)
ax1 = plt.subplot(gs1[0:2, :])
ax2 = plt.subplot(gs1[3:5, :], sharey=ax1)
ax3 = plt.subplot(gs1[6:8, :], sharey=ax1)
ax1.scatter(theta_cord, density, c = ''r'', marker= ''1'')
ax2.scatter(phi_cord, density, c = ''r'', marker= ''1'')
ax3.scatter(r_cord, density, c = ''r'', marker= ''1'')
ax1.set_xlabel(''Theta (radians)'')
ax1.set_ylabel(''Galaxy count'')
ax2.set_xlabel(''Phi (radians)'')
ax2.set_ylabel(''Galaxy count'')
ax3.set_xlabel(''Distance (Mpc)'')
ax3.set_ylabel(''Galaxy count'')
plt.ylim((0,0.004))
loc = plticker.MultipleLocator(base=0.001)
ax1.yaxis.set_major_locator(loc)
plt.axhline(y=0.002, xmin=0, xmax=1, hold=None)
plt.show()
Esto genera lo siguiente:
De nuevo, quiero que la línea que dibujé en la última subtrama aparezca también en las dos primeras subtramas. ¿Cómo puedo hacer eso?
Encontré una manera de hacerlo para cualquiera que se tropiece con esto de todos modos.
Necesitamos reemplazar la siguiente línea del PO:
plt.axhline(y=0.002, xmin=0, xmax=1, hold=None)
Lo reemplazamos con:
ax1.axhline(y=0.002,xmin=0,xmax=3,c="blue",linewidth=0.5,zorder=0)
ax2.axhline(y=0.002,xmin=0,xmax=3,c="blue",linewidth=0.5,zorder=0)
ax3.axhline(y=0.002,xmin=0,xmax=3,c="blue",linewidth=0.5,zorder=0)
Esto produce: