1. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to be executed to cause a data processing apparatus to: receive, from a user, user input data indicating a data set, the data set including one or more variables, each variable of the one or more variables being associated with variable metadata; obtain variable selection data for the data set, the variable selection data indicating a subset of the one or more variables included in the data set; generate an electronic representation of a graph selection structure based on the variable selection data, the graph selection structure indicating a set of graph types that are compatible with the variable selection data; and generate one or more graphs of the set of graph types using the graph selection structure.