Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Take A QuizChallenge yourself and boost your learning! Start the quiz now to earn credits.
Take A QuizUnlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Take A Quiz
🔹 1. Introduction
Now that we have covered the basics of Matplotlib,
it’s time to dive deeper into more advanced plotting techniques. This
chapter will cover more sophisticated plots and customizations that will help
you present data in a more insightful and interactive manner. We will explore:
By the end of this chapter, you’ll be able to handle more
complex visualizations, which can help you reveal patterns and insights more
effectively.
🔹 2. Creating Multiple
Plots in One Figure
Sometimes, it’s helpful to display multiple plots in the
same figure to compare different datasets. Matplotlib makes this easy with subplots.
✅ Creating Subplots
A subplot allows you to create multiple plots in a
single figure and organize them into a grid. You can customize the number of
rows and columns to arrange the plots accordingly.
import
matplotlib.pyplot as plt
#
Data for plotting
x
= [1, 2, 3, 4, 5]
y
= [1, 4, 9, 16, 25]
z
= [25, 20, 15, 10, 5]
#
Create a 1x2 grid of subplots (1 row, 2 columns)
fig,
ax = plt.subplots(1, 2, figsize=(10, 5))
#
First subplot: Line plot
ax[0].plot(x,
y, color='blue', label='Line plot')
ax[0].set_title('Line
Plot')
#
Second subplot: Scatter plot
ax[1].scatter(x,
z, color='red', label='Scatter plot')
ax[1].set_title('Scatter
Plot')
#
Display the plot
plt.tight_layout() # Adjust spacing
plt.show()
This code will create a figure with two plots:
The plt.subplots() function allows you to define the layout
of the figure, where figsize=(10, 5) sets the size of the overall figure.
🔹 3. Customizing Axes
Customizing the axes can improve the readability and
presentation of your plot. You can adjust axis limits, set custom tick marks,
and even control the aspect ratio.
✅ Customizing Axis Limits
To change the limits of the axes, use the plt.xlim() and
plt.ylim() functions:
plt.plot(x,
y)
plt.xlim(0,
6) # Set the x-axis limit
plt.ylim(0,
30) # Set the y-axis limit
plt.show()
✅ Setting Custom Ticks
To set custom ticks on the axes, you can use plt.xticks()
and plt.yticks():
plt.plot(x,
y)
plt.xticks([1,
2, 3, 4, 5]) # Custom x-axis ticks
plt.yticks([1,
10, 20, 30]) # Custom y-axis ticks
plt.show()
🔹 4. Adding Annotations,
Text, and Shapes
Matplotlib allows you to add annotations, text,
and shapes to highlight key points on your plot.
✅ Adding Text Annotations
You can use plt.text() to add text at specific coordinates:
plt.plot(x,
y)
plt.text(2,
10, 'Point (2,10)', fontsize=12, color='red')
# Add text annotation
plt.show()
✅ Adding Arrows for Annotations
You can add arrows using plt.annotate() to point to specific
data points:
plt.plot(x,
y)
plt.annotate('Max
Point', xy=(5, 25), xytext=(3, 20),
arrowprops=dict(facecolor='blue',
shrink=0.05)) # Add arrow annotation
plt.show()
This adds an arrow pointing to the point (5, 25) with a
label "Max Point."
✅ Adding Shapes
You can draw shapes like circles, rectangles, or lines on
your plot:
plt.plot(x,
y)
plt.axhline(y=15,
color='green', linestyle='--', label='Horizontal line') # Horizontal line
plt.axvline(x=3,
color='purple', linestyle=':', label='Vertical line') # Vertical line
plt.show()
🔹 5. Using Legends and
Color Maps
Legends and color maps help make your plots more informative
by explaining different plot elements.
✅ Adding a Legend
You can use plt.legend() to add a legend that explains the
different lines, bars, or points in your plot:
plt.plot(x,
y, label='y = x^2')
plt.plot(x,
z, label='z = 30 - x')
plt.legend(loc='best') # Automatically place the legend
plt.show()
✅ Using Color Maps for Heatmaps
Color maps are used to represent data values in a visually
appealing way, especially in heatmaps.
import
numpy as np
#
Create a 2D array for heatmap
data
= np.random.rand(10, 10)
plt.imshow(data,
cmap='viridis', interpolation='nearest')
plt.colorbar() # Show color bar
plt.title('Heatmap
Example')
plt.show()
This creates a heatmap using plt.imshow(), with
viridis as the color map.
🔹 6. Creating Animated
Plots
Matplotlib also supports animations which are useful
for visualizing changes over time.
✅ Creating Simple Animations
Here’s an example of creating an animated sine wave:
import
matplotlib.pyplot as plt
import
numpy as np
from
matplotlib.animation import FuncAnimation
#
Create a figure
fig,
ax = plt.subplots()
x
= np.linspace(0, 2*np.pi, 100)
line,
= ax.plot(x, np.sin(x))
#
Update function for animation
def
update(frame):
line.set_ydata(np.sin(x + frame / 10)) # Update the data
return line,
#
Create an animation
ani
= FuncAnimation(fig, update, frames=100, interval=100)
#
Display the animation
plt.show()
This example uses FuncAnimation to create a sine wave
animation, updating the plot every 100 milliseconds.
🔹 7. Summary Table
Operation |
Function/Method |
Description |
Create
Subplots |
plt.subplots() |
Create
multiple plots in one figure |
Customize
Axis Limits |
plt.xlim(),
plt.ylim() |
Set custom
axis limits |
Set Custom
Ticks |
plt.xticks(),
plt.yticks() |
Set custom
ticks on x and y axes |
Add Text
Annotations |
plt.text() |
Add text at a
specified location |
Add Arrows
and Shapes |
plt.annotate(),
plt.axhline(), plt.axvline() |
Add arrows
and lines for annotations |
Add Legends |
plt.legend() |
Add a legend
to explain plot elements |
Create
Heatmaps with Color Maps |
plt.imshow(),
plt.colorbar() |
Create
heatmaps with color maps |
Create
Animations |
FuncAnimation() |
Create
animated plots |
Matplotlib is a powerful Python library used for creating static, animated, and interactive visualizations. It provides extensive control over plot design and is used by data scientists and analysts for visualizing data.
pip install matplotlib
Some of the most common plot types include line plots, bar charts, scatter plots, histograms, and pie charts.
Matplotlib offers various customization options, including color, line style, markers, axis labels, titles, and more. You can use functions like plt.plot(), plt.title(), plt.xlabel(), and plt.ylabel() to modify the style.
plt.savefig('plot.png')
plt.show() displays the plot on the screen, while plt.savefig() saves the plot as an image file (e.g., PNG, JPEG, SVG, PDF).
Yes, Matplotlib supports interactive features, such as zooming, panning, and hovering over elements. For even more advanced interactivity, you can combine Matplotlib with libraries like Plotly or Bokeh.
sizes = [10, 20, 30, 40]
labels = ['A', 'B', 'C', 'D']
plt.pie(sizes, labels=labels)
plt.show()
Yes, Matplotlib supports 3D plotting via the Axes3D module. You can create 3D scatter plots, surface plots, and more
plt.figure(figsize=(10, 6)) # Set figure size to 10x6 inches
Please log in to access this content. You will be redirected to the login page shortly.
LoginReady to take your education and career to the next level? Register today and join our growing community of learners and professionals.
Comments(0)