Skip to content

klauck/data_visualization_tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Visualization - Tutorial

Abstract. Humans can more easily perceive differences in line lengths, shapes, and colors (hues) than process sequences of text or numbers. This ability makes data visualization a powerful tool for exploring, understanding, and communicating data. Creating effective data visualizations is a crucial research skill. Visualizations support research at various stages, from early prototypes over systematic experiments to final publications in papers/theses, presentations, or applications/demonstrations. This process often involves presenting the same data at different levels of detail or adapting styles for different audiences. Fortunately, many free tools are available for different types of visualizations, allowing us to choose what best fits our needs. This tutorial provides an overview of common visualization types and tools. We will discuss strategies for managing data visualizations in research, including automation, customization, and best practices. Through hands-on examples, we will explore the plotting library Matplotlib for static graphs and Chart.js for interactive web-based visualizations. Participants will be encouraged to share their experiences and insights throughout the session.

Slides

The tutorial starts with a motivation and introduction of types and tools for data visualizations using the following slides:

tutorial_slides.pdf

Hands-on Examples

The following hands-on examples showcase exemplary data visualizations alongside the tools used to create them. For each tool, we provide a brief description, present a sample output, and outline the steps to reproduce the visualizations.

Matplotlib for Static Graphs

Matplotlib is widely regarded as the standard tool for creating static graphs in scientific publications, because it enables creating publication-ready output, has extensive customization options, and has wide adoption and support in the community. Matplotlib has different interfaces. Our examples cover the implicit, stateful "pyplot" interface. Matplotlib might not be the ideal choice for interactive applications, complex 3D visualizations, or users without a programming background. Its steep learning curve and the need for fine-grained control can be challenging for beginners.

Exemplary Visualization

matplot_line_chart_example1 matplot_line_chart_example2

matplot_bar_chart_example1 matplot_bar_chart_example2 matplot_bar_chart_example3

Setup

  1. Download the provided Jupyter notebook tutorial.ipynb

  2. Open https://jupyter.org/try-jupyter/lab/ in your browser

  3. Upload and open the downloaded Jupyter notebook (see Step 1)

Chart.js for Interactive Web Applications

Chart.js is one of many (D3 or Highcharts are exemplary alternatives) free JavaScript libraries for creating interactive charts.

Exemplary Visualization

chart_js_example

Setup

  1. Download the provided HTML page dynamic_bar_chart.html
  2. Open the downloaded HTML page in your browser (see Step 1)
  3. Open the downloaded HTML page in a text editor
    1. Inspect the code
    2. Optionally, adapt and reload the HTML page

More Advanced Chart.js Project Examples

Python curses for Terminal Applications

Using curses, you can create terminal applications, such as visualizations or games.

Exemplary Visualization

curses_example

Setup

  1. Download the provided Python script dynamic_barplot.py
  2. Open a terminal, go to the download location, and run python dynamic_barplot.py
  3. Optionally, adapt the code and rerun the application

More Advanced Curses Project Examples

License

Data Visualization - Tutorial by Stefan Halfpap is licensed under CC BY 4.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages