python - outside - pandas plot
Cambiar el texto principal de la etiqueta de la leyenda de la trama (2)
Hasta ahora he podido etiquetar las subparcelas bien, pero tengo un problema con la principal.
Aquí está la parte relevante de mi código:
data_BS_P = data[channels[0]]
data_BS_R = data[channels[1]]
data_BS_Y = data[channels[2]]
plot_BS_P = data_BS_P.plot() #data_BS_P is a pandas dataframe
axBS = plot_BS_P.gca()
axBS.plot(data_BS_R, label=''Roll'')
axBS.plot(data_BS_Y, label=''Yaw'')
axBS.set_ylabel(''Amplitude (urad)'')
axBS.legend(loc=''upper center'', bbox_to_anchor=(0.5, 1.05), ncol=3,
fancybox=True, shadow=True)
ml1 = MultipleLocator(10)
ml2 = MultipleLocator(3600)
axBS.yaxis.set_minor_locator(ml1)
axBS.xaxis.set_minor_locator(ml2)
plot_BS_P.save(''L1-SUS-BS_M1_DAMP_PRY_INMON.jpg'')
Y esto es lo que tengo hasta ahora: Observe la etiqueta larga para la línea azul. Me gustaría que fuera etiquetado como "Pitch" en lugar del nombre del archivo. ¿En qué línea puedo hacer eso?
De otra manera:
ax.legend(labels=mylabels)
set_text()
obtener acceso al objeto legend()
y usar set_text()
para cambiar los valores del texto, un ejemplo simple:
plt.plot(range(10), label=''Some very long label'')
plt.plot(range(1,11), label=''Short label'')
L=plt.legend()
L.get_texts()[0].set_text(''make it short'')
plt.savefig(''temp.png'')
En su caso, está cambiando el primer elemento en la leyenda, estoy bastante seguro de que el índice 0
en L.get_texts()[0]
aplica a su problema.