A method of generating a gate for flow cytometry events from data defining a contour diagram for the flow cytometry events, the method comprising: under control of an electronic device, receiving, by the electronic device, data of flow cytometry events; generating a number of contour levels, wherein the number of contour levels is based on characteristics of the data, such as number of events, density of the data, parameters of interest, pre-determined user preferences, or assay being performed; generating an initial contour diagram, wherein the initial contour diagram includes a plurality of polygons (1012, 1014) in two dimensions, wherein each polygon identifies a portion of one of the generated contour levels included in one of a plurality of tiles (800, 1002, 1006) that divide the initial contour diagram into a grid; for a given tile included in the plurality of tiles of the initial contour diagram, identifying an adjacent tile to the given tile that includes a first polygon matching a second polygon included by the given tile based on a tile code for the given tile; wherein each tile code is generated based on differences between corner values of corner points of the respective one of the plurality of tiles and said one of the generated contour levels, said corner values representing data of flow cytometry events; when the adjacent tile is identified, combining the first polygon and the second polygon into a larger polygon, thereby reducing the number of polygons to form a reduced contour diagram; receiving, a message including an identifier for a contour level to use for generating the gate; and displaying of the reduced contour diagram for the identified contour level, wherein the reduced contour diagram includes the gate. under control of an electronic device, receiving, by the electronic device, data of flow cytometry events; generating a number of contour levels, wherein the number of contour levels is based on characteristics of the data, such as number of events, density of the data, parameters of interest, pre-determined user preferences, or assay being performed; generating an initial contour diagram, wherein the initial contour diagram includes a plurality of polygons (1012, 1014) in two dimensions, wherein each polygon identifies a portion of one of the generated contour levels included in one of a plurality of tiles (800, 1002, 1006) that divide the initial contour diagram into a grid; for a given tile included in the plurality of tiles of the initial contour diagram, identifying an adjacent tile to the given tile that includes a first polygon matching a second polygon included by the given tile based on a tile code for the given tile; wherein each tile code is generated based on differences between corner values of corner points of the respective one of the plurality of tiles and said one of the generated contour levels, said corner values representing data of flow cytometry events; when the adjacent tile is identified, combining the first polygon and the second polygon into a larger polygon, thereby reducing the number of polygons to form a reduced contour diagram; receiving, a message including an identifier for a contour level to use for generating the gate; and displaying of the reduced contour diagram for the identified contour level, wherein the reduced contour diagram includes the gate.