TEXT - STACKING
同一位置或者相近位置的标签过多,这会导致堆叠。为了避免重叠我们可以打开:
label_snuggle = yes
通过这个设置,可以稍微调整标签的径向位置减少重叠。snuggle是启发式的,不是全局优化。
<plot>
...
label_snuggle = yes
# shift label up to 2x its height in pixels in the angular direction
max_snuggle_distance = 2r
# sample possible label positions every 2 pixels
snuggle_sampling = 2
snuggle_tolerance = 0.25r
snuggle_link_overlap_test = yes
snuggle_link_overlap_tolerance = 2p
snuggle_refine = yes
</plot>
参数
max_snuggle_distance
为了帮助安排标签,使它们占用较少的空间,使用标签偎依。 max_snuggle_distance控制标签可以在角度方向上移动多远以适应更好的方式。
snuggle_sampling
通过增加snuggle_sampling值,布局过程运行速度更快,但不太精确。
snuggle_tolerance
您还可以通过设置snuggle_tolerance(绝对或相对于标签的切向尺寸)来短路精确位置。这个值越大,放置的精度越低。
snuggle_link_overlap
如果标签具有链接行,则您可以选择使用snuggle_link_overlap_test测试链接行与以前的标签是否重叠。使用snuggle_link_overlap_tolerance设置可接受重叠的程度。
snuggle_refine
The snuggle_refine parameter toggles an additional check for crossing of links of labels that are placed at similar radial positions. Label pairs whose link lines cross are swapped. This refine parameter is functionaly only if show_links=yes.
LABEL PADDING
除了调整max_snuggle_distance可以使我们的标签更加紧凑,还可以配合使用label padding参数。具体的调整效果可以通过实践来获得。
<plot>
...
padding = 2p
rpadding = 0.1r
</plot>
padding为负时,标签间隔更紧密。 当以相对单位(例如0.1r)表示时,径向填充(padding)相对于标签宽度,角填充(rpadding)相对于标签高度。