1. A method of arranging labels on a visual representation of a graph data structure, the method comprising: obtaining, with one or more processors, a graph to be visually represented in a graphical user interface of a client computing device, the visual representation including a plurality of icons each representing one or more nodes of a graph data structure and links extending between the icons in the visual representation; obtaining, with one or more processors, a set of text labels each corresponding to a respective collection of the nodes; determining, with one or more processors, a two dimensional or higher layout of the icons in the visual representation within a field of view; segmenting, with one or more processors, the field of view into a plurality of segments of the field of view; determining, with one or more processors, which icons are disposed within each of the segments of the field of view; determining, with one or more processors, positions of the text labels in the visual representation relative to one or more icons representing nodes in the respective collection of nodes based on the segment of the field of view in which the one or more icons representing nodes in the respective collection are disposed; causing, with one or more processors, the visual representation to be displayed; receiving a user request to zoom into a portion of the visual representation; re-determining which icons are in which of the segments of the field of view after zooming; and re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming, wherein re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming comprises: determining a plurality of sets of sub-segments, each set of sub-segments having a plurality of sub-segments, each set of sub-segments corresponding to a respective cluster, each of the sets of sub-segments being centered at a different respective position of the field of view; selecting, for each of the clusters, a respective sub-segment based on a segment of the field of view in which the respective cluster is disposed; and positioning respective text labels for respective clusters or icons therein based on, and at least partially in, respective selected sub-segment corresponding to the respective clusters.