Module Assessment
Overview
Congratulations on completing the Data Visualization module! You've learned the principles of choosing the right chart for the right question, built static charts with Matplotlib, and created interactive visualizations with Plotly. This assessment brings those skills together in a project where you'll analyze a real dataset and communicate your findings through multiple visualizations.
Complete the assessment using this Colaboratory notebook.
Learning Objective
By the end of this assessment, you will have demonstrated your ability to:
- Apply various visualization techniques to a given dataset.
- Effectively communicate insights through visuals.
Key terms
Insight: A meaningful observation drawn from data — a pattern, trend, anomaly, or relationship — that answers a question or supports a decision.
Visual encoding: The way data values are mapped to visual properties (position, length, color, size, shape) in a chart.
Annotation: Text, arrows, or highlights added directly to a chart to draw attention to a specific data point or insight.
Assessment Overview
This module assessment is a coding project completed in a Google Colaboratory notebook. You will be given a dataset and asked to produce a series of charts using both Matplotlib and Plotly, each designed to answer a specific analytical question. For each chart, you will also write a one- to two-sentence interpretation explaining what the visualization reveals.
Skills Assessed
| Skill | Lesson |
|---|---|
| Selecting appropriate chart types | Introduction to Data Visualization |
| Creating scatter plots, line charts, and bar charts | Matplotlib |
| Customizing titles, labels, and colors | Matplotlib |
| Creating subplots | Matplotlib |
| Creating interactive charts with Plotly | Plotly |
| Customizing Plotly layouts and themes | Plotly |
| Interpreting and communicating visual insights | All lessons |
Coding Assessment
Complete the project in this notebook. After completing all tasks, save your notebook to GitHub and submit the link to the AI Grader for grading.
Task Overview
The notebook provides a dataset containing information about global city populations, GDP per capita, average temperature, and quality-of-life scores across multiple years and continents. You will complete the following tasks:
-
Line chart (Matplotlib) — Plot the average quality-of-life score over time for at least three continents on the same axes, using a different color for each. Add a title, axis labels, legend, and grid. Write one sentence explaining the trend.
-
Bar chart (Matplotlib) — Create a horizontal bar chart comparing the average GDP per capita by continent for the most recent year in the dataset. Sort the bars from highest to lowest. Add a title and axis labels.
-
Scatter plot (Matplotlib) — Plot GDP per capita (x-axis) vs. quality-of-life score (y-axis) for all cities in the most recent year. Color the points by continent. Add a title, axis labels, and a legend. In one sentence, describe whether a relationship is visible.
-
Subplots (Matplotlib) — Create a figure with two side-by-side subplots: a histogram of city populations and a histogram of average temperatures. Give each subplot its own title and axis labels.
-
Interactive scatter plot (Plotly) — Recreate the scatter plot from Task 3 using Plotly Express, adding a
hover_dataparameter so that city names appear when hovering. Apply theplotly_whitetemplate. -
Interactive bar chart (Plotly) — Create a grouped bar chart using Plotly that compares average GDP and average quality-of-life score for each continent side by side. Add a descriptive title and axis labels using
update_layout(). -
Insight summary — Write three bullet points (one per visualization of your choice) identifying the most important insight you found and which chart type made it visible.
Grading Rubric
| Criteria | Points |
|---|---|
| Matplotlib line chart with correct data, labels, and legend | 15 |
| Matplotlib bar chart sorted and correctly labeled | 10 |
| Matplotlib scatter plot with color encoding and legend | 15 |
| Matplotlib subplots created correctly with individual labels | 10 |
| Plotly interactive scatter plot with hover data | 15 |
Plotly grouped bar chart with update_layout() customization | 15 |
| Written insight summary (3 bullet points) | 10 |
| Code is clean, readable, and uses descriptive variable names | 10 |
| Total | 100 |