def _plot_labels(target, *labels):
    for l in labels:
        have_label = False
        for child in target.get_children():
            try:
                if child.get_text() == l['s'] and child.get_position() == (l['x'], l['y']):
                    have_label = True
                    break
            except __HOLE__:
                pass
        if not have_label:
            target.text(**l)
dataset/ETHPy150Open scot-dev/scot/scot/plotting.py/_plot_labels