Cross Platform Data Visualization Component


Data Visualization is the graphical representation of information, with the goal of providing the viewer with a qualitative understanding of the information contents. There are many data visualization tools provided by online retailers which supports to create interactive visualization with dynamic data. Few of the proprietary tool have constraint to adapt with multiple operating system. This article came up with the solution how to generate a data visualization component which supports multiple operating system.
Problem Faced:

When a proprietary component/tool needs to be used in multiple operating system or different framework, developer faces issues such as

  • Components are generally commercial, have to pay for a license.
  • Long-term maintenance expenses when operating system upgrades.
  • Proprietary component will place restrictions on use, analysis and modification.
  • If any modification need to be done the developer relay on proprietor.
  • Components may not be compatible with same operating system in an upgraded version.
  • Proprietor may restrict the component with limited operating system

What is Cross Platform?

Cross-platform refers to the ability of compiler to create executable which can operate on more than one platform with identical functionality. A cross compiler is necessary to compile for multiple platforms from one machine.
What is component?

The term component is generally used for an object that is reusable and can interact with other objects. Component is a compiled set of classes that support the services provided by the component. The component consists of a number of properties, methods, and events that are exposed by the classes contained within the component.

Solution to the Problem:

The application developer need to develop a tool in cross-platform application framework which can be run on multiple operating system with little or no change in the source code. Tool will uses its own native API [Application Program Interface] based on operating system.

List of few cross platform application framework are:

  • GTK+
  • XPower++
  • wxWidgets
  • AppearIQ
  • Cairo
  • Eclipse
  • GeneXus
  • Qt
  • Ultimate++


Let us see an illustration how Qt support to create a cross platform data visualization component.
Qt framework:

Qt is a cross-platform application framework used for developing application software that can be executed in multiple operating system without any code change. Qt uses the native style APIs of the different platforms, on platforms that have a native widget set, and draw most controls.

Figure 1: Gauge View Data Visualization Component

The above figure is gauge view data visualization component developed in QT framework .The gauge view contains arc, scale, needle and LCD panel.

  • The arc, scale, needle and background is designed using QPainter Library. The arc contains lower limit [0] and higher limit [1050] values. The values from lower to higher limit contains warnings range values, safe range values and fault range values.
  • LCD panel is used to indicate the data value.
  • Parameter name and units are indicated in the gauge view.

The Gauge View is generated as a dynamic link library [.dll] component .This dll file is used in Qt application .The above gauge view is compiled and executed in Qt framework in Windows and Linux operating system shown in below figure [Figure 2 & Figure 3].

Figure 2: Gauge View Data Visualization Component in Windows OS

Figure 3: Gauge View Data Visualization Component in Linux OS


The Data Visualization component have major advantages such as:

  • Without any changes in the source code, the component is compiled and used in both Windows and Linux operating systems.
  • The component is compatible with upcoming OS Version.
  • Component is free of cost and license is not required.
  • Eliminates the rework and thus reduces the development time.