We modified the PSE library to accept additional custom layers in the projection view that are rendered above or below the scatter plot layer. This way, we were able to implement a layer showing an aggregation of the entire dataset using hexagonal bins as a background of the scatter plot. To compute the aggregations, we implemented a function that determines whether the coordinates of a point are contained in the hexagon at a certain position. All values that are contained in a particular hexagon are then aggregated by a user-defined aggregation function (i.e., min, max, median, mean, or count). All computations are done in the back-end, and only the aggregated values and the coordinates of the hexagon centers are served to the front-end. [2] For example, columns that are part of time-series data should end with an underscore followed by a time step (e.g., acquisition 0, acquisition 1, and so on, containing the values of the acquisition function at cycle 0, 1, etc.). [3] The CSV file may be zipped before uploading to reduce the file size.