Visualization templates have emerged as an effective approach to simplifying visualization programming for complex libraries like D3. However, these templates are often treated as rigid artifacts that respond poorly to changes made outside of the template's established parameters, limiting user creativity. Addressing this challenge requires a more dynamic approach, where tools can respond gracefully to users' edits when they modify templates in unexpected ways. In this paper, we leverage the structural similarities revealed by templates to design resilient support features for programming D3 visualizations: recommendations to suggest complementary interactions for a users' D3 program; and code augmentation to implement recommended interactions with a single click, even when users deviate from pre-defined templates. We demonstrate the utility of these features in Mirny, an interactive development environment for D3. In a user study with 20 D3 users, we find that these automated features enable participants to program interactive visualizations with significantly less time and effort. We also characterize key modification strategies used by participants to customize D3 templates. Informed by our findings and participants' feedback, we discuss key implications on the use of templates for visualization programming.
翻译:可视化模板是简化D3等复杂图书馆可视化程序的有效方法。 然而,这些模板往往被视为僵硬的文物,对模板既定参数之外的变化反应不佳,限制了用户的创造力。 要应对这一挑战,需要一种更动态的方法,即工具能够在用户编辑模板时以意想不到的方式对用户编辑做出优美的反应。在本文件中,我们利用模板显示的结构相似性,为D3可视化程序设计有弹性的支持功能:建议用户的D3程序进行互补互动的建议;增强代码,以实施建议的互动互动,即使用户偏离预先定义的模板。我们在Mirny展示了这些功能的效用,这是D3互动开发环境。在20个D3用户的用户研究中,我们发现这些自动化功能使参与者能够以大大缩短的时间和努力来编程互动的可视化内容。我们还确定了参与者为定制D3模板而采用的关键修改战略。根据我们的发现和参与者的反馈,我们讨论了使用可视化程序模板的主要影响。