1. A computer system comprising: a data module configured to store data; a chart template module configured to store chart templates; a generation module configured to generate an interactive chart on a generation interface, wherein the generation interface is configured to enable a user to generate the interactive chart from data stored in the data module and a template from the chart template module; a sharing module configured to enable a user to publish or embed the interactive chart as a self-contained and independent electronic document, wherein the self-contained and independent interactive chart, when opened in a program in the absence of the generation interface and the chart template module, enables a user to a) render the chart, b) obtain input from a user and c) rerender the chart using the input as a parameter thereby enabling the interactive chart to retain interactivity when published or embedded.