*4.2.3 Data analysis tab*

The Data Analysis tab addresses the requirements related to "Creating interactive visualizations" as stated by the stakeholders including chart creation by drag-anddrop, chart recommendations, and creating a chart from the exported custom fields from custom analysis tab.

The front-end of the Data Analysis tab is divided into different sections, as shown in **Figure 7** which consists of a sidebar, a toolbar, sheets on the bottom, and the recommendation charts drop down on the top right side. The **left side bar** comprises of all the drag-and-drop objects, such as standard and advanced charts, uploaded file's fields, and the custom fields exported from Custom Analysis tab. Similarly, the **top toolbar** consists of a text field which is used to rename or delete the active sheet and the **top right drop-down menu** is for chart recommendation functionality. The **Wrapper canvas** in the middle of the view allows the chart/ fields to be dropped for chart creation. Furthermore, the **footer** holds all the sheets created by the user. The newly created data attributes which are exported from "Custom Analysis Tab" are shown in "Custom Fields" and can be used together with other fields for chart creation.

**Charts** in ViDAS are categorized into standard charts (e.g. line chart, bar chart, box plot, bubble chart, etc.), advanced charts (linear regression and correlation matrix), and overview tab charts (parallel coordinates, sankey chart, and PCA). Chart creation in the data analysis tab can be done in one of two ways. It starts when the user drops an object (chart/field(s)) to the canvas and provides the required parameters. The tool then generates the required chart for the user based on the provided data.

**Create Chart By Chart Drop:** Once a certain chart is dropped to the canvas, ViDAS first validates the type of the dropped object (chart/field(s)) and then

#### **Figure 7.**

*ViDAS data analysis tab: (a) represents chart creation using chart drag-and-drop. (b) Represents chart creation using fields drag-and-drop.*

renders a cart. The cart shows the dropped chart name on the top and a validation message about the required minimum parameters for the specific chart type for sensible chart creation. Once the required parameters are added and **create** button is clicked, the required chart is created.

**Create Chart By Field(s) Drop:** The chart creation by field(s) drop is similar to the chart drop. However, in the field(s) drop scenario, the user only drops the interesting field(s) as shown in **Figure 7**. ViDAS automatically calculates the type of the dropped field(s) as dimensions or measures. Thereafter, similar to the chart drop validation the user is shown a validation message with all the dropped field(s) for creating a proper chart. Here, the user may delete from the dropped field(s) as well. Once all the desired field(s) are dropped and **create** button is clicked, the tool creates the best possible chart by using the "Chart Recommendation" feature. At this point, the user can add additional fields or delete from the selected fields to update the created chart. The chart will change instantly and allows the user to see the changes visually while adding or removing certain fields.

**Chart Recommendation:** Once a chart is created, the user can switch to other possible charts in the "Recommended Charts" drop-down menu. This feature is known as 'Smart Charts' which was implemented in python and the resultant charts were created using the Plotly charting library. The feature collectively dubbed 'Smart Charts' is a collection of few chart recommendation methods. Once a chart is created, it suggests other possible charts that could potentially be made with the same fields that the user used to create the previous visualization so as to explore alternative charts that could better represent the data at hand.

The basic working of 'Smart Charts' depends on the attributes selected and their data types. Dimensions are the qualitative aspect of the data, in other words, the categorization and context of data whereas measures are the actual values of what you are measuring. Measures are always numeric and they are, most of the times, aggregated in some way using an aggregation function like sum, average, etc. The chart recommendation drop-down list contains all the charts for which the requirement of minimum dimensions and measures is fulfilled. The order in which they are displayed is decided by the weights that have been manually assigned to them. These weights are decided on basis of analysis of rival industry-standard data analysis tools, trial-and-error, and testing. A general pattern is, the more 'constrained' requirements that a chart has, the higher the weight it gets assigned. In other words, the more niche a chart is, the more important it would be if it can be created at all.

These recommendations in the "Recommended Charts" drop-down menu are listed in descending order of priority i.e. the higher up the entry, the better it is assumed to be. But that might not always be true, so it is up to the user to decide if the recommended charts present their data to their liking or not. 'Smart Charts' is a single method which comprises of various sub-modules including 'All possible charts', 'Best possible chart' and a 'Drag-and-Drop Chart Generator'.

If the user has an idea of what they want to create, they can directly choose a chart type, give it the required inputs and the specific chart would be generated. But if the user does not know what to create and they are roughly aware of the data fields in question, they can drag and drop the specific fields instead of the chart type. From there, ViDAS infers the dimensions and the measures to render the 'best possible chart'.

#### *4.2.4 Custom analysis tab*

The Custom Analysis Tab addresses the requirements related to the data analytics part of ViDAS that includes creating machine learning models for data analytics,

### *Implementing Visual Analytics Pipelines with Simulation Data DOI: http://dx.doi.org/10.5772/intechopen.96152*

pre-processing, and transformation of the data according to the user's requirements, and exporting the transformed data to the "Data Analysis Tab" for visualization.

**Figure 8** shows the "Custom Analysis Tab", which consists of a **Side Bar** that contains all the drag and drop nodes. The user drags and drops these nodes onto the Canvas, which then creates a graphical representation of these nodes and can be connected later from their ports using edges. The **Properties Bar** shows the details of the selected Node, including the ID, Node Type, Node Name, the input, and output types. Once a node is configured, the user-defined configuration in the **Configuration Bar** is displayed. The **Tool Bar** includes the usability functionalities to help the user, including the option to save and load the workflows to and from the server, deleting the workflows, and creating a new workflow to clear the canvas.

The basic node design can be seen in **Figure 9**, with one input port and one output port. On top of the Node, there are details such as the node type and the custom name. The node type **Custom Node** is dynamic and changes according to the Node used. The node name **customName** can be changed by double-clicking on the Node. A square represents the input ports, and a triangle represents the output ports. At the bottom of the Node, there is an overlay that shows the current node state by using color indicators. When the user right-clicks on the Node, several options are available in the form of a drop-down menu. These options include Configure, Run, View Output, and Delete Node.

Initially, all the nodes are unconfigured when dropped, which can later be configured before being executed. ViDAS will not allow a node to be executed if that Node or any of its parent nodes are unconfigured. Some nodes require access to the data from their parent nodes to be configured, due to which they cannot be

**Figure 8.** *ViDAS custom analysis tab.*

**Figure 9.** *Basic node.*

configured unless the parent nodes are executed first. If multiple nodes have been configured in a workflow, the user can execute only the last Node, which will recursively execute all of the previous nodes up to and including that node.

ViDAS also allows the user to write custom python scripts to apply data analysis techniques that are not found in the built-in nodes. The user can select from a wide variety of node categories including input/output, preprocessing, analysis, and custom node to create the workflow pipeline.

Once the workflow pipeline is complete, the user has the option to export the transformed data to the "Data Analysis Tab" using the Export Node. The Export Node can be configured to select the required columns that the user wants to visualize. These exported columns can be loaded in the 'Custom Fields' drop-down list during data visualization. The feature to export the transformed data to another Tab gives ViDAS an integrated user experience which comprises of both data mining and interactive visualization methods.
