Si usted quiere tener algo específico en su leyenda, que es más fácil de definir los objetos que se colocan en la leyenda con el texto apropiado. Por ejemplo:
import matplotlib.pyplot as plt
import pylab
plt.plot_date(x = xaxis, y = yaxis, marker = 'x', color=[1, 0, 0, .2], label='Data Series')
line1 = pylab.Line2D(range(1),range(1),color='white',marker='x',markersize=10, markerfacecolor="red",alpha=1.0)
line2 = pylab.Line2D(range(10),range(10),marker="_",linewidth=3.0,color="dodgerblue",alpha=1.0)
plt.legend((line1,line2),('Text','Other Text'),numpoints=1,loc=1)
Aquí, línea 1 define una línea corta, blanco (tan esencialmente invisible) con el marcador de 'x' en la opacidad rojo y completa. Como ejemplo, line2 te da una línea azul más larga sin marcadores visibles. Al crear estas "líneas", puede controlar más fácilmente sus propiedades dentro de la leyenda.
¡Esta fue de lejos la respuesta más simple para mi problema! Agregaría dos notas: 1) Puede obtener la opción de leyenda por 'leg = plt.legend()' cuando crea la leyenda. 2) Para mí necesitaba 'lh.set_alpha (1)' not 'lh._legmarker.set_alpha (1)' (no estoy seguro de si la API ha cambiado ...) – Owen
Buena nota. ¿Estabas usando 'plt.scatter()'?Después de jugar con él un poco, parece que hay algunas variantes ligeras dependiendo de su tipo de gráfica (probablemente porque 'plt.scatter' no tiene un' _legmarker' específico ya que nunca necesita distinguir entre líneas y marcadores). – CaptainKinematics
Además, mi respuesta original y tu comentario ambos usan alfa = 1. para obtener transparencia, pero cuando juego con ella ahora encuentro que necesito alfa = 0. (matplotlib .__ version__ == '1.5.1'). ¿Estoy tomando pastillas locos o algo así? – CaptainKinematics