1

我有 12 个不同的点,其中 10 个与前两个有关;我想分别为这 10 个点中的每一个设置标签,但有时它们中的两个或多个具有相同的坐标,但我想显示该坐标的所有标签(不是彼此重叠,而是可读)
如您所见下图两组点坐标相同且标签重叠

booleanFunction = np.array(["K","I","H" ,"G", "F", "E" , "D" , "M", "B", "A"])
pointsx = np.empty((rs.shape[1],1))
pointsy = np.empty((rs.shape[1],1))
....
....
....
pl.figure()
pl.hold(True)
pl.plot(X1, Y1, 'ro', X2, Y2, 'y<')
pl.plot(pointsx, pointsy, 'b3')

for i in range (len(pointsx)):
    pl.annotate(booleanFunction[i], xy=(pointsx[i], pointsy[i]), xycoords='data', textcoords='data')

dd

4

1 回答 1

3

我的代码之一是为了避免注释重叠,我做了这样的事情:

xoffset = 0.1
switch = -1
for i in range (len(pointsx)):
    pl.annotate(booleanFunction[i], xy=(pointsx[i], pointsy[i]), 
                xytext=(pointsx[i]+switch*xoffset, pointsy[i]),
                xycoords='data', textcoords='data')

    switch*=-1

xoffset这将写入您的注释文本,从您要注释的点左右交替移动。当然,您可以对 y 方向或两者都使用类似的东西。

于 2013-10-23T09:20:53.177 回答