  We present a technique for converting a basic D3 chart into a reusable style
template. Then, given a new data source we can apply the style template to
generate a chart that depicts the new data, but in the style of the template.
To construct the style template we first deconstruct the input D3 chart to
recover its underlying structure: the data, the marks and the mappings that
describe how the marks encode the data. We then rank the perceptual
effectiveness of the deconstructed mappings. To apply the resulting style
template to a new data source we first obtain importance ranks for each new
data field. We then adjust the template mappings to depict the source data by
matching the most important data fields to the most perceptually effective
mappings. We show how the style templates can be applied to source data in the
form of either a data table or another D3 chart. While our implementation
focuses on generating templates for basic chart types (e.g. variants of bar
charts, line charts, dot plots, scatterplots, etc.), these are the most
commonly used chart types today. Users can easily find such basic D3 charts on
the Web, turn them into templates, and immediately see how their own data would
look in the visual style (e.g. colors, shapes, fonts, etc.) of the templates.
We demonstrate the effectiveness of our approach by applying a diverse set of
style templates to a variety of source datasets.
