Abstract:
There is a growing need for reliable data visualization in a world driven by data. However, inaccessible and ineffective tools for designing charts prevail. These existent tools are either low-quality or they are overly complex, requiring advanced technical expertise from the user. This leaves the user unable to extract useful insights from the data. ChartLab, a unique domain-specific language (DSL), has the purpose to ease the process of data visualisation and analysis. ChartLab introduces a syntax that allows users to easily generate data visualizations using accessible natural language commands, without needing any programming knowledge. The core innovation stands in the developed grammar, which supports commands for 9 types of visualizations: bar chart, grouped bar chart, stacked bar chart, line graph, histogram, area chart, scatter plot, bubble chart, and pie chart. This provides customizable graph representation, and dynamic data processing to enhance the usability and accessibility of data visualization. As tools and methodologies, ANTLR was used to build the parser and lexer efficiently and Python libraries for visualisation of the charts. The implementation also uses tools like Flask and Next.js, but the focus of this article is on the linguistic structure of ChartLab. ChartLab is a tool for graph creation, that allows the user to have a unique and correct representation of their data, an accessible chart history and dynamic data processing, regardless of their technical background. Together, all these features enhance the creation of a technically accurate chart.