print text matplotlib scatter-plot annotate

print - diagrama de dispersión matplotlib con texto diferente en cada punto de datos



subplot text matplotlib (2)

Estoy tratando de hacer un diagrama de dispersión y anotar puntos de datos con diferentes números de una lista. entonces, por ejemplo, quiero trazar y vs x y anotar con los números correspondientes de n.

y=[2.56422, 3.77284,3.52623,3.51468,3.02199] z=[0.15, 0.3, 0.45, 0.6, 0.75] n=[58,651,393,203,123] ax=fig.add_subplot(111) ax1.scatter(z, y, fmt=''o'')

¿Algunas ideas?


En la versión anterior a matplotlib 2.0, ax.scatter no es necesario para trazar texto sin marcadores. En la versión 2.0 necesitarás ax.scatter para establecer el rango adecuado y los marcadores para el texto.

y=[2.56422, 3.77284,3.52623,3.51468,3.02199] z=[0.15, 0.3, 0.45, 0.6, 0.75] n=[58,651,393,203,123] fig, ax = plt.subplots() for i, txt in enumerate(n): ax.annotate(txt, (z[i],y[i]))

Y en este link puedes encontrar un ejemplo en 3d.


No conozco ningún método de trazado que tome matrices o listas, pero podría usar annotate() al iterar sobre los valores en n .

y=[2.56422, 3.77284,3.52623,3.51468,3.02199] z=[0.15, 0.3, 0.45, 0.6, 0.75] n=[58,651,393,203,123] fig, ax = plt.subplots() ax.scatter(z, y) for i, txt in enumerate(n): ax.annotate(txt, (z[i],y[i]))

Hay muchas opciones de formato para annotate() , consulte el sitio web matplotlib: