graficos graficas graficar coordenadas python numpy matplotlib

python - graficas - matplotlib: establece marcadores para puntos individuales en una línea



python graficos 2d (3)

He usado matplotlib para trazar líneas en una figura. Ahora me gustaría establecer el estilo, específicamente el marcador, para puntos individuales en la línea. ¿Cómo hago esto?

Editar: para aclarar mi pregunta, que fue respondida, quiero poder establecer el estilo de los marcadores individuales en una línea, no todos los marcadores en dicha línea.


Hay una imagen que muestra el nombre y la descripción de todos los marcadores, espero que te ayude.

import matplotlib.pylab as plt markers=[''.'','','',''o'',''v'',''^'',''<'',''>'',''1'',''2'',''3'',''4'',''8'',''s'',''p'',''P'',''*'',''h'',''H'',''+'',''x'',''X'',''D'',''d'',''|'',''_''] descriptions=[''point'', ''pixel'', ''circle'', ''triangle_down'', ''triangle_up'',''triangle_left'', ''triangle_right'', ''tri_down'', ''tri_up'', ''tri_left'',''tri_right'', ''octagon'', ''square'', ''pentagon'', ''plus (filled)'',''star'', ''hexagon1'', ''hexagon2'', ''plus'', ''x'', ''x (filled)'',''diamond'', ''thin_diamond'', ''vline'', ''hline''] x=[] y=[] for i in range(5): for j in range(5): x.append(i) y.append(j) plt.figure() for i,j,m,l in zip(x,y,markers,descriptions): plt.scatter(i,j,marker=m) plt.text(i-0.15,j+0.15,s=m+'' : ''+l) plt.axis([-0.1,4.8,-0.1,4.5]) plt.tight_layout() plt.axis(''off'') plt.show()

Haga clic aquí para ver la imagen



Especifique la palabra clave args linestyle y / o marker en su llamada para plot .

Por ejemplo, usando una línea discontinua y marcadores de círculo azul:

plt.plot(range(10), linestyle=''--'', marker=''o'', color=''b'')

Un acceso directo para la misma cosa:

plt.plot(range(10), ''--bo'')

Aquí hay una lista de los posibles estilos de línea y marcador:

================ =============================== character description ================ =============================== - solid line style -- dashed line style -. dash-dot line style : dotted line style . point marker , pixel marker o circle marker v triangle_down marker ^ triangle_up marker < triangle_left marker > triangle_right marker 1 tri_down marker 2 tri_up marker 3 tri_left marker 4 tri_right marker s square marker p pentagon marker * star marker h hexagon1 marker H hexagon2 marker + plus marker x x marker D diamond marker d thin_diamond marker | vline marker _ hline marker ================ ===============================

editar: con un ejemplo de marcar un subconjunto arbitrario de puntos, como se solicita en los comentarios:

import numpy as np import matplotlib.pyplot as plt xs = np.linspace(-np.pi, np.pi, 30) ys = np.sin(xs) markers_on = [12, 17, 18, 19] plt.plot(xs, ys, ''-gD'', markevery=markers_on) plt.show()

Este último ejemplo usando el markevery kwarg es posible desde 1.4+, debido a la fusión de esta rama de características . Si está atascado en una versión anterior de matplotlib, aún puede lograr el resultado al superponer un diagrama de dispersión en el diagrama de líneas. Vea el historial de edición para más detalles.