# Visualization by Example

**Authors:** Chenglong Wang, Yu Feng, Rastislav Bodik, Alvin Cheung, Isil Dillig  
**arXiv:** [1911.09668](https://arxiv.org/abs/1911.09668)  
**Date:** 2019-11-21  
**Summary page:** https://www.summarizepaper.com/en/arxiv-id/1911.09668v1/

## Key points

- Visualizations are essential for gaining insights from complex datasets
- Creating effective visualizations can be difficult
- Technique presented in the paper simplifies visualization tasks by automatically generating necessary program from simple visual sketches provided by the user
- Automating visualization tasks poses several challenges
- Paper introduces a new compositional visualization-by-example approach that decomposes the task into two different synthesis problems over distinct domain-specific languages (DSLs)
- Utilizes bi-directional program analysis to manage complexity arising from an imprecise intermediate specification
- Authors implemented their method in a tool called Viser and evaluated it on 83 visualization tasks gathered from online forums and tutorials
- Viser successfully solved 84% of these benchmarks within 600 seconds
- For the tasks that could be solved, Viser generated desired visualizations among the top-5 in 70% of cases
- This work contributes to program synthesis and data visualization research by addressing challenges specific to automating visualization tasks
- The paper provides useful insights into decomposing end-to-end synthesis tasks and handling imprecise intermediate specifications
- Evaluation results demonstrate the effectiveness of Viser in solving real-world visualization problems efficiently.

## Summary

Visualizations are essential for gaining insights from complex datasets, but creating effective visualizations can be difficult. This paper presents a technique that simplifies visualization tasks by automatically generating the necessary program from simple visual sketches provided by the user. The technique takes an input dataset and a visual sketch showing how to visualize a small subset of the data and produces a program that can be used to visualize the entire dataset. Automating visualization tasks poses several challenges. To address these issues, the paper introduces a new compositional visualization-by-example approach that decomposes the task into two different synthesis problems over distinct domain-specific languages (DSLs). It also utilizes bi-directional program analysis to manage complexity arising from an imprecise intermediate specification. The authors implemented their method in a tool called Viser and evaluated it on 83 visualization tasks gathered from online forums and tutorials. Viser successfully solved 84% of these benchmarks within 600 seconds. Additionally, for the tasks that could be solved, Viser generated desired visualizations among the top-5 in 70% of cases. This work contributes to program synthesis and data visualization research by addressing challenges specific to automating visualization tasks. The paper provides useful insights into decomposing end-to-end synthesis tasks and handling imprecise intermediate specifications. The evaluation results demonstrate the effectiveness of Viser in solving real-world visualization problems efficiently.
