Aquí es una representación gráfica simplificada de la situación:Matplotlib, leyenda con múltiples marcadores diferentes con una etiqueta
En lugar de tener cada marcador punto de datos tiene una etiqueta separada, Quiero ser capaz de tener una etiqueta para un conjunto de marcadores diferentes. Me gustaría ser capaz de tener una leyenda como:
<triangle> <square> <hexagon> <diamond> <circle> Shotcrete strength data points
<green line> 10 minute strength
<blue line> 60 minute strength
<yellow line> 1 day strength
<orange line> 7 day strength
<red line> 28 day strength
quiero hacer esto porque en la trama final que tendrá tres conjuntos de puntos de datos y mostrando 18 (3 series * 6 puntos/set) marcador/las combinaciones de etiquetas serán desordenadas.
Estoy usando Matplotlib con Python 2.7.
Actualmente estoy usando líneas de psuedo para hacer mi leyenda. Creo que podría usar algo como esto (http://matplotlib.sourceforge.net/users/legend_guide.html#legend-handler): 'código' z = np.random.randn (10) p1a, = plt.plot (z, "ro", ms = 10, mfc = "r", mew = 2, mec = "r") # círculo lleno de rojo p1b, = plt.plot (z [: 5 ], "w +", ms = 10, mec = "w", mew = 2) # cruz blanca plt.legend ([p1a, (p1a, p1b)], ["Attr A", "Attr A + B "]) ' código' para combinar múltiples marcadores en una línea. – CrazyArm
@CrazyArm por lo que yo entiendo, que tendrá que definir una forma personalizada para el '' por lo que me dio la solución que yo. Puede extraer la forma del símbolo de la fuente de la gráfica de dispersión (o de la propia dispersión) y usarla con la forma personalizada como entrada a 'legend'. –
Hooked
Gracias. Creo que entiendo cómo hacer un marcador personalizado individual en la leyenda (un rectángulo o círculo como usted mencionó), pero no sé cómo combinar dos de ellos. Esto (http://matplotlib.sourceforge.net/examples/api/scatter_piecharts.html) lo hace mediante la superposición de varios símbolos, pero no sé cómo lo mostrarían en una leyenda. – CrazyArm