364

散布図を作成し、リストから異なる番号でデータ ポイントに注釈を付けようとしています。したがって、たとえば、yvsをプロットxし、 からの対応する数値で注釈を付けたいとします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')

何か案は?

4

9 に答える 9

671

配列またはリストを使用するプロット方法については知りませんがannotate()、 の値を反復処理するときに使用できます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]))

には多くの書式設定オプションがあります。matplotlib Web サイトannotate()を参照してください。

ここに画像の説明を入力

于 2013-01-21T07:47:34.950 に答える
10

Python 3.6+:

coordinates = [('a',1,2), ('b',3,4), ('c',5,6)]
for x in coordinates: plt.annotate(x[0], (x[1], x[2]))
于 2020-01-06T15:40:51.600 に答える
2

リスト内包表記と numpy を使用したワンライナーとして:

[ax.annotate(x[0], (x[1], x[2])) for x in np.array([n,z,y]).T]

セットアップはRutgerの答えと同じです。

于 2019-12-03T08:13:38.827 に答える