MVE080 / MMG640 Scientific visualization Autumn 25
Course PM
MVE080/MMG640 course in scientific visualisation.
Contact details:
Sviatlana Shashkova sviatlana.shashkova@physics.gu.se
Linde Viaene linde.viaene@physics.gu.se
Student Representatives:
Miner Chen minerchenida@outlook.com
Felix Dahlin felixdahlin@outlook.com
Josefine Karlsson josefiine_karlsson@hotmail.com
Program
In this course you will learn about various concepts, techniques, and tools for visualisation of scientific data in two dimensions. The GU course code is MMG640. The Chalmers course code is MVE080. The schedule of the course is in TimeEdit - just search for the course code. Monday lectures will be given in the Euler lecture room; Wednesday lecture will take place in the Pascal lecture room, computer labs -- in the computer rooms MV:F23-25.
The course is based on the online book Fundamentals of Data Visualization by Claus O. Wilke, the on-line ggplot2: Elegant Graphics for Data Analysis by Hadley Wickham and a review article The science of visual data communication: What works by Franconeri et al. We will use the grammar of graphics Python library plotnine, which is based on ggplot2. Hence, for help via searching engines, you can look for both ggplot and plotnine.
After each lecture, the slides, code used to produce some visuals, and relevant datasets will be uploaded.
Weekly homework is performed in groups of 4 people max and should be completed within two weeks. You can have two attempts. In this case, the first attempt should be submitted within a week from the date when the homework becomes available. In case of any unforeseen life circumstances, each group can ask for a deadline extension. This option is only available once during the course. The final version of the 4th homework should be submitted by December 10, 23:59.
Preliminary course outline (modified throughout the course):
*Computer lab: each Wednesday 10.00 - 11.45
It is not allowed to use ChatGPT or any other AI tool to directly answer any of the questions. Large language models can be excellent tools, e.g. for editing text, but using them to directly answer a question is bad practice, as i) you do not learn anything, and ii) these models are often incorrect - and confidently reporting an incorrect answer is unprofessional. Any direct usage of AI to answer questions will be considered cheating and reported.
- Monday 2025-11-03 13:15 - 15:00 : Course introduction
Please, bring your laptop if you wish to use it for the course assignments.
Lecture slides: Lecture 1 Introduction.pdf
Relevant links:
Python basics tutorial
NumPy for MATLAB users
The Anaconda Python distribution
The correct environment can be set via this file MVE080.yml . If you have correctly installed Jupyter Notebooks and plotnine you will be able to run the following notebook : Hello_MVE080-1.ipynb.
- Wednesday 2025-11-05 08.00-9.45 : Amounts and Distributions
Lecture slides: Lecture 2 Amounts.pdf
Some of the visuals used during the lecture: Lecture2-2025.ipynb
Datasets:
Operating system dataset : mobile_os_market_share.csv
Median lifespan data : Life_tidy.csv Life_tidy-1.csv
Weather data for Gothenburg : Weather_tidy-1.csv
The non summary winter dataset : Winter_vås.csv
Weather data for Västerås : Winter_vås_summary.csv
- Monday 2025-11-10 13:15-15:00 : Colours and proportions
Lecture slides: Lecture 3 Colours.pdf
Visuals: Lecture3-2025.ipynb
Datasets:
Dataset used to compare colormaps : Ex_color_maps-1.csv
Circles dataset : Circles.csv
Data on life-happiness for 2018 : 2018.csv
Data with Simpsons's paradox (testing categorical colors) : Ex_colors.csv
GDP data : GDP_tidy.csv
Swedish education data : Education_plot_format.csv
Titanic data : Titanic.csv
Spain employment data : Span_unemployment.csv
Data for using rainbow desaturated palette : Rainbow_desaturated (2).csv (in the notebook there is code for reading and using this palette)
- Wednesday 2025-11-12 08.00-9.45 : Time and associations
Lecture slides: Lecture 4 Time_ Associations.pdf
Visuals: Lecture4-2025.ipynb
Datasets:
Spain employment data : Spain_tidy.csv
Inflation data : Inflation.csv
Sweden population data : Sweden_pop.csv
France population data : France_pop.csv
Bacterial growth data : Growth_rate.csv
Apartment prices data : Housing_sweden.csv
World happiness data : World_2018.csv
Salary data : Salary_sweden.csv
Lifespan data for horizon plot : Life_tidy-1.csv
R-code for horizon plot : Horizon_plot.R
- Monday 2025-11-17 13:15-15:00 : Geospatial
Lecture slides: Lecture 5 Geospatial .pdf
Visuals: Lecture5-2025.ipynb
Datasets:
Forest dataset : Forest_tidy-3.csv
Sweden map region : Kommun_Sweref99TM_region-2.zip and municipal Kommun_Sweref99TM_region-3.zip
Sweden population data : Swe_pop_län_2021-1.csv and Swe_pop_2021-1.csv
USA map : cb_2018_us_state_500k-1.zip
Starbucks data : Startbucks_location-1.csv
- Wednesday 2025-11-19 08.00-9.45 : Uncertainty
Lecture slides: Lecture 6 Uncertainty.pdf
Visuals: Lecture6-2025.ipynb
Datasets:
Chocolate datasets : Chocolate_tidy-1.csv and Chocolate_sum-1.csv
Curve fit data : Traces_fit-1.csv , Sum_curve_fit-1.csv, Sum_curve_fit-2.csv
Probability : Plot_uncertainity-1.csv - Monday 2025-11-24 13:15-15:00 : Tables
Lecture slides: Lecture 7 Tables.pdf
- Wednesday 2025-11-26 08.00-9.45 : Storytelling
Lecture slides: Lecture 8 Storytelling.pdf - No class on December 1
- Wednesday 2025-12-03 08:00-11:45 : Computer lab only
- Monday 2025-12-08 13:15-15:00 :
- Wednesday 2025-12-10 08.00-9.45 :
- Monday 2025-12-15 13:15-15:00 :