You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Effective data visualisation is not just about choosing the right chart — it is about applying design principles that guide the viewer's eye, reduce cognitive effort, and ensure the message is understood quickly and accurately. This lesson covers Gestalt principles, colour theory, typography, accessibility, and the concept of data-ink ratio.
The Gestalt principles describe how humans naturally group and organise visual elements. Understanding these principles helps you design charts that are intuitive to read.
| Principle | Description | Application in Charts |
|---|---|---|
| Proximity | Elements close together are perceived as a group | Group related labels near their data points |
| Similarity | Elements that look alike are perceived as related | Use consistent colours for the same category |
| Enclosure | Elements enclosed in a boundary are perceived as a group | Use background shading to group chart regions |
| Continuity | The eye follows smooth paths | Align chart elements along axes and gridlines |
| Closure | The mind completes incomplete shapes | Minimalist chart borders still look complete |
| Connection | Connected elements are perceived as related | Lines connecting data points imply sequence |
| Model | Description | Use |
|---|---|---|
| RGB | Red, Green, Blue — additive model for screens | Digital displays |
| CMYK | Cyan, Magenta, Yellow, Key (Black) — subtractive model | |
| HSL | Hue, Saturation, Lightness | Intuitive for choosing colours |
| Palette Type | Description | When to Use |
|---|---|---|
| Sequential | Light to dark shades of one hue | Ordered data (e.g., temperature, revenue) |
| Diverging | Two hues meeting at a neutral midpoint | Data with a meaningful centre (e.g., profit/loss) |
| Qualitative | Distinct hues with similar lightness | Categorical data (e.g., countries, product types) |
import seaborn as sns
import matplotlib.pyplot as plt
# Sequential palette
sns.palplot(sns.color_palette("Blues", 8))
plt.title("Sequential: Blues")
plt.show()
# Diverging palette
sns.palplot(sns.color_palette("RdBu", 8))
plt.title("Diverging: Red-Blue")
plt.show()
# Qualitative palette
sns.palplot(sns.color_palette("Set2", 8))
plt.title("Qualitative: Set2")
plt.show()
| Do | Don't |
|---|---|
| Use colour purposefully to encode data | Use colour decoratively without meaning |
| Limit to 5-7 distinct colours per chart | Use a rainbow palette for sequential data |
| Test in greyscale to check readability | Rely solely on colour to convey information |
| Use a consistent palette across related charts | Change colour meanings between charts |
Approximately 8% of men and 0.5% of women have some form of colour vision deficiency. Designing for accessibility is not optional — it is essential.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.