What Is Data Visualization?
3 things you need to know
Data visualization is the process of translating data into graphical representations like plots, charts, maps, and 3D visualizations that help you easily identify patterns, trends, and outliers in the data.
These data visualizations let you see relationships that would be difficult or impossible to observe merely by looking at the raw data, especially with big data sets from sources such as sensors, data loggers, medical records, web search patterns, and purchasing patterns. Data visualization plays a pivotal role in converting data into actionable information.
Data visualization techniques vary across domains.
Computational Finance
Using historical or live market data, data visualization helps to quickly identify patterns and trends, detect anomalies, and get meaningful insights. Data visualization helps in performing analysis, developing predictive models, assessing risk, and formalizing trading strategies.
The plot below simulates the future behavior of electricity spot prices from a time series model fitted to historical data.
Signal Processing
Signal processing is used in applications such as speech analysis, heart rate monitoring, wireless communications, remote sensing, climate monitoring, and GPS. Common tasks involve preprocessing and comparing signals, designing digital filters, transforming signals, performing measurements, and detecting patterns and events. Data visualizations are used to analyze signals of interest in time, frequency, and time-frequency domains.
The plot below is the audio data from a Pacific blue whale. The visualization is created in MATLAB® using the Signal Analyzer app that helps to visualize signals in the time and frequency domain.
Image Processing and Computer Vision
Image and video processing helps to find shapes, count objects, identify colors, measure object properties, and find other meaningful information. Image processing techniques are often applied as a preprocessing step in the computer vision workflow. Applications in this domain include facial recognition for smart phones, pedestrian and vehicle avoidance in self-driving vehicles, video surveillance, tumor detection in medical MRIs, and other image retrieval systems.
For example, BMW uses computer vision capabilities in the Assisted Driving View (ADV) to depict surrounding vehicles and identify their types.
Artificial Intelligence (AI)
Data visualization plays an important part in developing AI models—using machine learning or deep learning—because the models rely on large data sets, which are difficult to interpret. In machine learning, cluster analysis helps in detecting anomalies and data preprocessing in supervised learning. Principal component analysis (PCA) and t-distributed Stochastic Neighbor Embedding (t-SNE) are the two most used data visualization techniques because they help reduce data dimensions so you can focus on key differentiating dimensions.
In deep learning, you can monitor training progress using data visualizations like plots of network accuracy and loss and investigate trained networks using visualization techniques such as gradient-weighted class activation mapping (Grad-CAM), occlusion sensitivity, local interpretable model-agnostic explanations (LIME), and deep dream.
Software packages provide capabilities to transform raw data into rich visualizations, such as plots, charts, and diagrams. The following is an illustrative example of bike traffic density data. Solely by visually inspecting the raw data, it is difficult to establish a relationship between the data points.
Timestamp | Day | Total | Westbound | Eastbound | Time |
‘2015-06-24 07:00:00’ | ‘Wednesday’ | 141 | 13 | 128 | 7 |
‘2015-06-24 08:00:00’ | ‘Wednesday’ | 327 | 44 | 283 | 8 |
‘2015-06-24 09:00:00’ | ‘Wednesday’ | 184 | 32 | 152 | 9 |
‘2015-06-24 10:00:00’ | ‘Wednesday’ | 94 | 30 | 64 | 10 |
‘2015-06-24 11:00:00’ | ‘Wednesday’ | 67 | 24 | 43 | 11 |
‘2015-06-24 12:00:00’ | ‘Wednesday’ | 66 | 32 | 34 | 12 |
‘2015-06-24 13:00:00’ | ‘Wednesday’ | 67 | 32 | 35 | 13 |
The bar graph below shows that the bicycle traffic density rises and falls over the days of week. It’s now clear that the number of bicyclists is greater during the weekdays as compared to weekends. This visualization allows us to infer that bicyclists on this route are predominantly commuting back and forth from work.
A scatter plot can be used to get more insights from the same data. The following plot shows the total number of bikes heading eastbound and westbound at specific times of the day. Based on this plot, we can conclude that eastbound routes lead to business districts and westbound routes lead to residential areas. Furthermore, we can establish that rush hour traffic is from 8:00—10:00 a.m. on the eastbound route and 4:00—6:00 p.m. on the westbound route.
A swarm chart is a special kind of scatter plot that can show density patterns of bike traffic for different times of the day, day of the week, and direction.
In the bike traffic example, visualizing data with different types of plots like bar, scatter, and swarm charts helps us extract useful information from the data set including peak traffic days, direction of commute, and busiest time of the day.
MATLAB is a programming and numeric computing platform used to analyze data, develop algorithms, and create models. It supports the entire data analysis workflow including acquiring the data directly into MATLAB; analyzing and visualizing that data; and exporting results. You can use interactive apps to visualize your data without writing any code; the apps will automatically generate the appropriate MATLAB code for you, so you can automate and reuse your work.
Creating Data Visualizations
MATLAB offers a wide range of built-in chart types like line plots, scatter charts, distribution plots, and geographic plots to visualize datasets from a diverse set of applications. You can create visualizations either interactively or programmatically using the MATLAB language.
Exploring Data Visualizations
You can interactively explore your visualization including:
Annotating and Customizing Data Visualizations
You can interactively annotate your visualizations by highlighting essential information that you wish to convey such as:
MATLAB automatically generates code from your interactive chart modifications. You can reuse that code by adding it to your script.
Complex data sets can be difficult to visualize using simple charts. MATLAB enables you to create custom charts to meet your visualization needs and add custom interactions to them.
Examples include:
- Sparklines Component—Create small line graphs that show the general trend of each vector in a multi-vector data set such as a table. Observe and compare data trends for each row/column.
- Density Scatter Chart—Use color (or transparency) to identify the density of points.
Explore more examples of custom chart containers on File Exchange on MATLAB Central.
Exporting Data Visualizations
You can directly export your customized and annotated visualizations for use on the web and in presentation and reports.
Integrating Data Visualization with Data Analysis
Data visualization is often combined with data analysis and preprocessing. MATLAB apps, such as the Data Cleaner and the Signal Analyzer, combine these steps.
Interactive controls allow you to specify operations without needing to write any code, and the corresponding data visualizations are integrated directly in the app. This allows you to immediately see the results of a given task. Once your analysis and preprocessing are complete, the apps can automatically generate the corresponding MATLAB code to allow you to automate the steps, even on different data.
Application-Specific Visualizations
MATLAB toolboxes provide application-specific visualizations, along with interactive apps that combine visualization with data preprocessing and analysis.
Econometric Modeler app for visualizing and analyzing univariate or multivariate time-series data (in Econometrics Toolbox™).
Frequency response of the individual stages of a multistage digital down converter (in DSP System Toolbox™).
Bluetooth LE blocking, intermodulation, and carrier-to-interference performance test (in Bluetooth® Toolbox).
Beamforming for a phased array system (in Phased Array System Toolbox™).
Interesting Data Visualization Applications
Data visualization capabilities in MATLAB enabled organizations to effectively meet their research objectives.
Ford Develops Tool for Analyzing Drive-Cycle Test Results
Ford’s Vehicle Energy Management Engineering team used MATLAB to develop CycleTool to evaluate the emissions, fuel economy, and performance of their vehicles. The tool enables them to assess system performance by visualizing their hardware test results against their model predictions and simulations.
Decoding Butterfly Flight with High-Speed Cameras and a Wind Tunnel
Lund University researchers learned what gives butterflies their distinct, fluttery pattern and used MATLAB for image processing, data analysis, modeling, and visualizations. By studying the flight behavior of butterflies, engineers can build more efficient and dynamic flying—or even swimming—drones. Researchers used MATLAB data visualization features to analyze and compare the performance of their wing designs inspired from their analysis of the flight behavior of butterflies.
State Street Global Advisors Develops Scoring Model to Bring Transparency to ESG Investing
The development team at State Street Global Advisors generated histograms, scatter plots, box plots, and other visualizations to refine their algorithms as part of the development of R-Factor™, a system that helps investors make informed decisions and enhance their environmental, social, and governance (ESG) scores.
Bosch Develops a Single Platform for Automotive Test Data Analysis and Visualization
Bosch used MATLAB to develop ENValyzer (Engineering Test Data Visualizer and Analyzer), a tool to visualize, process, analyze and generate reports for their test data acquired from measurement devices, testbenches, and vehicles. Bosch engineers were able to render the data in single, secondary, matrix plot, and multiple axis views.