Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge 3: Subplots | Matplotlib
Data Science Interview Challenge

book
Challenge 3: Subplots

With Matplotlib, not only can you create diverse and intricate visualizations, but you can also effectively organize and display multiple plots together using subplots and advanced layout management techniques. Grasping these techniques can offer multiple advantages:

  • Comparison: By visualizing multiple plots side by side, you can make quicker comparisons and observations.

  • Organization: Rather than having multiple separate figures, you can combine related visualizations into one cohesive figure.

  • Flexibility: Matplotlib allows for a high degree of customization when it comes to positioning and aligning subplots, ensuring your visualizations are both functional and aesthetically pleasing.

Mastering subplots and layout management is pivotal for conveying multi-faceted insights and constructing comprehensive visual narratives.

Note

Some subplots have been intentionally left empty.

Task

Swipe to start coding

Using Matplotlib, perform the following tasks related to subplots and layout management:

  1. Create a 2x2 grid of subplots.
  2. Plot a line graph on the top-left subplot.
  3. Plot a scatter plot on the bottom-right subplot.

Solution

import matplotlib.pyplot as plt
import numpy as np

# 1. Create a 2x2 grid of subplots.
fig, axs = plt.subplots(2, 2)

# 2. Plot a line graph on the top-left subplot.
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Line Graph')

# 3. Plot a scatter plot on the bottom-right subplot.
y2 = np.random.rand(100)
axs[1, 1].scatter(x, y2)
axs[1, 1].set_title('Scatter Plot')

plt.tight_layout()
plt.show()

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 4. Chapter 3
import matplotlib.pyplot as plt
import numpy as np

# 1. Create a 2x2 grid of subplots.
fig, axs = plt.___(2, 2)

# 2. Plot a line graph on the top-left subplot.
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
axs[___].___(x, y1)
axs[___].set_title('Line Graph')

# 3. Plot a scatter plot on the bottom-right subplot.
y2 = np.random.rand(100)
axs[___].___(x, y2)
axs[___].set_title('Scatter Plot')

plt.tight_layout()
plt.show()

Ask AI

expand
ChatGPT

Ask anything or try one of the suggested questions to begin our chat

some-alt