我有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')
答案 0 :(得分:2)
我的一个代码是为了避免注释重叠我做了这样的事情:
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方向或两者上使用类似的东西。