0
0
Matplotlibdata~10 mins

Broken axes concept in Matplotlib - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Broken axes concept
Start: Prepare data
Create figure and axes
Plot data on first axis
Plot data on second axis
Hide spines and ticks between axes
Add diagonal lines to show break
Show combined plot with broken axes
End
This flow shows how to create a plot with broken axes by preparing data, plotting on two axes, hiding the break area, and adding diagonal lines to indicate the break.
Execution Sample
Matplotlib
import matplotlib.pyplot as plt
fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot([1, 2, 3], [10, 20, 30])
ax2.plot([1, 2, 3], [100, 200, 300])
plt.show()
This code creates two side-by-side plots sharing the y-axis to simulate broken axes.
Execution Table
StepActionAxes StatePlot DataVisual Result
1Import matplotlib.pyplot as pltNo axes createdNo data plottedNo plot yet
2Create figure and two subplots sharing y-axisTwo axes: ax1 and ax2 created side by sideNo data plottedEmpty figure with two axes
3Plot data [10,20,30] on ax1ax1 readyLine plot on ax1 with y=[10,20,30]Left plot shows small y values
4Plot data [100,200,300] on ax2ax2 readyLine plot on ax2 with y=[100,200,300]Right plot shows large y values
5Hide spines and ticks between ax1 and ax2Axes spines adjustedNo new dataGap between plots looks like broken axis
6Add diagonal lines on breakDecorations addedNo new dataVisual break lines appear between axes
7Show plotFinal stateBoth plots visibleCombined plot with broken y-axis shown
8EndPlot window openData displayedUser sees broken axes plot
💡 Plot displayed with two axes showing different y ranges to simulate broken axes.
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4After Step 5After Step 6Final
figNoneFigure object createdFigure unchangedFigure unchangedFigure unchangedFigure unchangedFigure unchanged
ax1NoneAxes object createdLine plotted with y=[10,20,30]Line plottedSpines hidden on rightDiagonal lines addedFinal broken axes left plot
ax2NoneAxes object createdNo plotLine plotted with y=[100,200,300]Spines hidden on leftDiagonal lines addedFinal broken axes right plot
Key Moments - 3 Insights
Why do we create two separate axes instead of one?
We create two axes to show different y-axis ranges side by side, which simulates a broken axis effect. This is shown in execution_table steps 2, 3, and 4 where each axis plots different y data.
How do diagonal lines indicate the axis break?
Diagonal lines are drawn between the two axes to visually signal the break in the axis scale. This is done after hiding spines (step 6) and helps users understand the axis is discontinuous.
Why do we share the y-axis between the two plots?
Sharing the y-axis aligns the two plots vertically so the broken axis looks continuous except for the break. This is set in step 2 with sharey=True.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table at step 4. What data is plotted on ax2?
A[10, 20, 30]
B[100, 200, 300]
C[1, 2, 3]
DNo data plotted yet
💡 Hint
Check the 'Plot Data' column in row for step 4 in execution_table.
At which step do we add diagonal lines to show the axis break?
AStep 6
BStep 5
CStep 3
DStep 7
💡 Hint
Look at the 'Action' column for the step mentioning diagonal lines in execution_table.
If we do not share the y-axis (remove sharey=True), what changes in the plot?
APlots will merge into one
BDiagonal lines will not appear
CAxes will not align vertically, making the broken axis effect less clear
DData will not plot
💡 Hint
Refer to key_moments about why sharey=True is used.
Concept Snapshot
Broken axes concept in matplotlib:
- Create two subplots side by side with sharey=True
- Plot different y ranges on each axis
- Hide spines and ticks between axes
- Add diagonal lines to indicate axis break
- Show combined plot simulating a broken axis
Full Transcript
This visual execution shows how to create a broken axes plot in matplotlib. First, we import matplotlib and create a figure with two subplots side by side sharing the y-axis. We plot smaller y values on the left axis and larger y values on the right axis. Then, we hide the spines and ticks between the two axes to create a visual gap. Diagonal lines are added between the axes to indicate the break in the axis scale. Finally, the combined plot is shown, allowing viewers to see data with a discontinuous y-axis. This technique helps display data with very different scales clearly.