Python:在每个数据点处带有对齐注释的散点图

2024-05-17 03:42:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想制作一个有几十个点的散点图,这些点可能彼此非常接近。我试过从问题的答案中注释的方法:

>>matplotlib scatter plot with different text at each data point

但是可以看到,当点之间的距离足够近时,标签/注释会重叠。是否有任何库或方法可以生成这样的绘图,这些绘图具有彼此不冲突的单独注释,也不与绘图的边框冲突?

import matplotlib.pyplot as plt

z = [0.15, 0.3, 0.45, 0.46, 0.6, 0.75]
y = [2.56422, 3.77284, 3.52623, 3.52623, 3.51468, 3.02199]
n = [58, 651, 393, "393(2)", 203, 123]

fig, ax = plt.subplots()
ax.scatter( z, y )

for i, txt in enumerate( n ):
    ax.annotate( txt, ( z[i] + .01, y[i] + .01 ) )

plt.show()
Scatter plot with colliding annotations

Tags: 方法答案texttxt绘图dataplotmatplotlib