Matplotlib Streudiagramm mit unterschiedlichem Text an jedem Datenpunkt

Ich versuche ein Streudiagramm zu erstellen und Datenpunkte mit unterschiedlichen Zahlen aus einer Liste zu kommentieren. also zum Beispiel möchte ich y gegen x grafisch darstellen und mit entsprechenden Zahlen von n kommentieren.

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') 

Irgendwelche Ideen?

   

Ich bin mir keiner Zeichnungsmethode bewusst, die Arrays oder Listen verwendet, aber Sie könnten annotate() während Sie über die Werte in n iterieren.

 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])) 

Es gibt viele Formatierungsoptionen für annotate() , siehe die matplotlib-Website:

Bildbeschreibung hier eingeben

In früheren Versionen als matplotlib 2.0 ist ax.scatter nicht erforderlich, um Text ohne Marker zu zeichnen. In Version 2.0 benötigen Sie ax.scatter , um den richtigen Bereich und die Markierungen für Text ax.scatter .

 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])) 

Und in diesem Link finden Sie ein Beispiel in 3d.