with Christopher Brooks, Kevyn Collins-Thompson, Daniel Romero and V. G. Vinod Vydiswaran
This course will introduce the learner to information visualization basics, with a focus on reporting and charting using the matplotlib library. The course will start with a design and information literacy perspective, touching on what makes a good and bad visualization, and what statistical measures translate into in terms of visualizations. The second week will focus on the technology used to make visualizations in python, matplotlib, and introduce users to best practices when creating basic charts and how to realize design decisions in the framework. The third week will describe the gamut of functionality available in matplotlib, and demonstrate a variety of basic statistical charts helping learners to identify when a particular method is good for a particular problem. The course will end with a discussion of other forms of structuring and visualizing data.
This course should be taken after Introduction to Data Science in Python and before the remainder of the Applied Data Science with Python courses: Applied Machine Learning in Python, Applied Text Mining in Python, and Applied Social Network Analysis in Python.
Module 1: Principles of Information Visualization In this module, you will get an introduction to principles of information visualization. We will be introduced to tools for thinking about design and graphical heuristics for thinking about creating effective visualizations. All of the course information on grading, prerequisites, and expectations are on the course syllabus, which is included in this module.
Module 2: Basic Charting In this module, you will delve into basic charting. For this week’s assignment, you will work with real world CSV weather data. You will manipulate the data to display the minimum and maximum temperature for a range of dates and demonstrate that you know how to create a line graph using matplotlib. Additionally, you will demonstrate the procedure of composite charts, by overlaying a scatter plot of record breaking data for a given year.
Module 3: Charting Fundamentals In this module you will explore charting fundamentals. For this week’s assignment you will work to implement a new visualization technique based on academic research. This assignment is flexible and you can address it using a variety of difficulties - from an easy static image to an interactive chart where users can set ranges of values to be used.
Module 4: Applied Visualizations In this module, then everything starts to come together. Your final assignment is entitled “Becoming a Data Scientist.” This assignment requires that you identify at least two publicly accessible datasets from the same region that are consistent across a meaningful dimension. You will state a research question that can be answered using these data sets and then create a visual using matplotlib that addresses your stated research question. You will then be asked to justify how your visual addresses your research question.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.
Ronny De Wintercompleted this course, spending 7 hours a week on it and found the course difficulty to be medium.
I found in general this course too short and too superficial to become fluent with matplotlib. Module 1 provides philosophical background based on the work of Eduard Tufte and Alberto Cairo, an execellent introduction in the general practices and principles to data visualisation, independent on what tools you use (not
I found in general this course too short and too superficial to become fluent with matplotlib. Module 1 provides philosophical background based on the work of Eduard Tufte and Alberto Cairo, an execellent introduction in the general practices and principles to data visualisation, independent on what tools you use (not python/matplotlib related). Modules 2 and 3 are about the matplotlib architecture, basic plotting (line chart, scatter, barchart, histogram, boxplot) and dynamic plotting (animation and interaction), areas that definitely need to dive a little bit deeper to make the concepts stick. Also module 4 on pandas and seaborn could be more elaborate.
The lectures are based on videos in combination with jupyter notebooks. I am big fan of jupyter notebooks but they combine not very well with video instruction. Too often you see the face of the instructor at times you really want to thinker about the code, sometimes the notebook cells scroll out of the video window so you miss the relation with the initial parts. These factors, together with a fast speaking instructor, needed me to often stop and rewind the video to get full understanding of the material. Not very handy.
For the exercises you will probably need more time than indicated if your main experience where the video lectures and jupyter notebooks from the course. A lot of time (80%) is needed to upfront wrangling the data. This is inline with data analysis practices, however this is a course about visualisation only, so one would expect that the focus of the exercise is more on the visualisation part. Expect to spend a lot of time on stackoverflow and the matplotlib documentation. This time could be reduced if the the course material went a bit deeper in some important areas.
As usual with Coursera courses today you cannot submit your work and get it peer reviewed, neither do peer review of other student's work, if you don't pay for a certificate.
For this topic (plotting with python/matplotlib) I would prefer some good online tutorials, for example:
- Matplotlib tutorial (Nicolas P. Rougier) https://www.labri.fr/perso/nrougier/teaching/matplotlib/
This is course 2 in the series. I found course 1 challenging and useful. This was a huge disappointment. Far too much time was spent on the philosophy of visualizations--what makes a visualization interesting/useful. That's good but it should be a minor aspect of the course, not full sections devoted to it. I took
This is course 2 in the series. I found course 1 challenging and useful. This was a huge disappointment. Far too much time was spent on the philosophy of visualizations--what makes a visualization interesting/useful. That's good but it should be a minor aspect of the course, not full sections devoted to it. I took the course because I wanted to learn the features of plotting in Python using Matplotlib/Seaborn. Seanborn is barely mentioned. The homeworks are all peer reviewed with the grading criteria so broad it doesn't take much to get full credit. If you attempt the assignment and submit something you will likely get full credit. I didn't learn nearly as much as I hoped and will end up reviewing Udemy's Python for Data Science and Machine Learning Bootcamp for more material on charting in Python.
Michal Kosinskiaudited this course, spending 5 hours a week on it and found the course difficulty to be easy.
This course provides solid basis for plotting in matplotlib. It's structure is very convenient, although I'd prefer it to cover more in detail both theory of visualization and practice using Python at a cost of being longer (hence 4 stars). Provided examples and problems are very concise and give a lot of useful tricks
This course provides solid basis for plotting in matplotlib. It's structure is very convenient, although I'd prefer it to cover more in detail both theory of visualization and practice using Python at a cost of being longer (hence 4 stars). Provided examples and problems are very concise and give a lot of useful tricks. However, Matplotlib is a beast and there's lot going on under the hood, so you better be prepared to dive deep into documentation beside the course material.