  We propose a new technique based on program synthesis for automatically
generating visualizations from natural language queries. Our method parses the
natural language query into a refinement type specification using the
intents-and-slots paradigm and leverages type-directed synthesis to generate a
set of visualization programs that are most likely to meet the user's intent.
Our refinement type system captures useful hints present in the natural
language query and allows the synthesis algorithm to reject visualizations that
violate well-established design guidelines for the input data set. We have
implemented our ideas in a tool called Graphy and evaluated it on NLVCorpus,
which consists of 3 popular datasets and over 700 real-world natural language
queries. Our experiments show that Graphy significantly outperforms
state-of-the-art natural-language-based visualization tools, including
transformer and rule-based ones.
