Bird
Raised Fist0
Matplotlibdata~10 mins

Line colors and width in Matplotlib - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Line colors and width
Start Plot Setup
↓
Define x and y data
↓
Set line color and width
↓
Call plt.plot() with color and linewidth
↓
Render plot with plt.show()
↓
End
The flow shows setting up data, choosing line color and width, plotting, and displaying the plot.
Execution Sample
Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y, color='red', linewidth=3)
plt.show()
This code plots a red line with width 3 connecting points defined by x and y.
Execution Table
StepActionParameter SetEffect on PlotOutput
1Import matplotlib.pyplot-Ready to plotNo visible output
2Define x datax = [1, 2, 3, 4]Data points setNo visible output
3Define y datay = [10, 20, 25, 30]Data points setNo visible output
4Call plt.plot()color='red', linewidth=3Line color set to red, width set to 3Line plotted on graph
5Call plt.show()-Plot displayedGraph window opens showing red thick line
💡 Plot displayed and program waits for user to close window
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4Final
xundefined[1, 2, 3, 4][1, 2, 3, 4][1, 2, 3, 4][1, 2, 3, 4]
yundefinedundefined[10, 20, 25, 30][10, 20, 25, 30][10, 20, 25, 30]
colordefault (blue)default (blue)default (blue)redred
linewidthdefault (1.5)default (1.5)default (1.5)33
Key Moments - 3 Insights
Why does the line appear thicker when we set linewidth=3?
Because linewidth controls how thick the line is drawn. In the execution_table step 4, linewidth=3 makes the line wider than the default 1.5.
What happens if we do not specify the color parameter?
The line uses the default color (usually blue). This is shown in variable_tracker where color starts as default and changes only when set explicitly in step 4.
Can we use color names other than 'red'?
Yes, matplotlib accepts many color names or codes. The key moment is in step 4 where color='red' is set; changing 'red' to another valid color name changes the line color.
Visual Quiz - 3 Questions
Test your understanding
Look at the variable_tracker table. What is the value of 'linewidth' after step 4?
A3
B1.5
Cdefault
Dundefined
💡 Hint
Check the 'linewidth' row under 'After Step 4' column in variable_tracker.
According to the execution_table, what action causes the line color to change to red?
ADefining y data
BCalling plt.plot() with color='red'
CCalling plt.show()
DImporting matplotlib.pyplot
💡 Hint
Look at step 4 in execution_table where color='red' is set.
If we remove the linewidth parameter from plt.plot(), what will happen to the line width?
ALine width becomes 3
BLine disappears
CLine width becomes default (1.5)
DError occurs
💡 Hint
Refer to variable_tracker where linewidth starts as default and changes only when set.
Concept Snapshot
plt.plot(x, y, color='colorname', linewidth=number)
- color sets the line color (e.g., 'red', 'blue')
- linewidth sets thickness (default ~1.5)
- plt.show() displays the plot
- Omitting color or linewidth uses defaults
- Use simple color names or hex codes
Full Transcript
This lesson shows how to set line colors and widths in matplotlib plots. We start by importing matplotlib.pyplot, then define x and y data points. Next, we call plt.plot() with parameters color='red' and linewidth=3 to draw a red thick line connecting the points. Finally, plt.show() displays the plot window. The execution table traces each step, showing when variables like color and linewidth change. The variable tracker confirms how these parameters update after each step. Key moments clarify why linewidth affects thickness and how default colors apply if not set. The quiz tests understanding of these changes by referencing the tables. The snapshot summarizes the syntax and behavior for quick recall.

Practice

(1/5)
1. Which parameter in matplotlib.pyplot.plot() changes the color of the line?
easy
A. linestyle
B. color
C. linewidth
D. marker

Solution

  1. Step 1: Understand the purpose of parameters in plot()

    The color parameter sets the line color, while linewidth changes thickness.
  2. Step 2: Identify the parameter for color

    Among the options, only color directly changes the line color.
  3. Final Answer:

    color -> Option B
  4. Quick Check:

    Line color = color [OK]
Hint: Remember: color changes color, linewidth changes thickness [OK]
Common Mistakes:
  • Confusing linewidth with color
  • Using linestyle to change color
  • Trying to use marker for color
2. Which of the following is the correct syntax to set a red line with thickness 3 in matplotlib.pyplot.plot()?
easy
A. plt.plot(x, y, color='red', linewidth=3)
B. plt.plot(x, y, linewidth='red', color=3)
C. plt.plot(x, y, color=3, linewidth='red')
D. plt.plot(x, y, width=3, color='red')

Solution

  1. Step 1: Check parameter names and values

    The correct parameters are color with a color string and linewidth with a number.
  2. Step 2: Validate plt.plot(x, y, color='red', linewidth=3) syntax

    plt.plot(x, y, color='red', linewidth=3) uses color='red' and linewidth=3, which is correct syntax.
  3. Final Answer:

    plt.plot(x, y, color='red', linewidth=3) -> Option A
  4. Quick Check:

    Correct parameter names and types = plt.plot(x, y, color='red', linewidth=3) [OK]
Hint: Use color='colorname' and linewidth=number [OK]
Common Mistakes:
  • Swapping color and linewidth values
  • Using wrong parameter names like width
  • Passing numbers as color
3. What will be the color and thickness of the line drawn by this code?
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y, color='green', linewidth=5)
plt.show()
medium
A. Blue line with thickness 5
B. Green line with thickness 1
C. Green line with thickness 5
D. Red line with thickness 5

Solution

  1. Step 1: Analyze color parameter

    The code sets color='green', so the line color is green.
  2. Step 2: Analyze linewidth parameter

    The code sets linewidth=5, so the line thickness is 5 (thicker than default).
  3. Final Answer:

    Green line with thickness 5 -> Option C
  4. Quick Check:

    color='green' and linewidth=5 = Green line with thickness 5 [OK]
Hint: Check color and linewidth values directly in plot() [OK]
Common Mistakes:
  • Ignoring linewidth value
  • Assuming default thickness
  • Confusing color names
4. Identify the error in this code snippet:
import matplotlib.pyplot as plt
plt.plot([1,2,3], [4,5,6], color=5, linewidth='thick')
plt.show()
medium
A. Missing plt.show() call
B. color should be a number, linewidth should be a string
C. color and linewidth parameters are correct
D. color should be a string, linewidth should be a number

Solution

  1. Step 1: Check color parameter type

    color must be a color name string or code, not a number like 5.
  2. Step 2: Check linewidth parameter type

    linewidth must be a number (int or float), not a string like 'thick'.
  3. Final Answer:

    color should be a string, linewidth should be a number -> Option D
  4. Quick Check:

    Parameter types must match expected types [OK]
Hint: color='name', linewidth=number; no numbers for color [OK]
Common Mistakes:
  • Passing numbers as color
  • Passing strings as linewidth
  • Ignoring type errors
5. You want to plot two lines on the same graph: one thick blue line and one thin orange line. Which code correctly does this?
hard
A. plt.plot(x, y1, color='blue', linewidth=6) plt.plot(x, y2, color='orange', linewidth=1)
B. plt.plot(x, y1, color='orange', linewidth=6) plt.plot(x, y2, color='blue', linewidth=1)
C. plt.plot(x, y1, linewidth='thick', color='blue') plt.plot(x, y2, linewidth='thin', color='orange')
D. plt.plot(x, y1, color=6, linewidth='blue') plt.plot(x, y2, color=1, linewidth='orange')

Solution

  1. Step 1: Match colors to lines

    The thick line should be blue, so color='blue' with large linewidth for y1.
  2. Step 2: Match thickness and color for second line

    The thin line should be orange, so color='orange' with small linewidth for y2.
  3. Step 3: Validate parameter types

    plt.plot(x, y1, color='blue', linewidth=6) plt.plot(x, y2, color='orange', linewidth=1) uses correct parameter names and types for both lines.
  4. Final Answer:

    plt.plot(x, y1, color='blue', linewidth=6) plt.plot(x, y2, color='orange', linewidth=1) -> Option A
  5. Quick Check:

    Correct colors and linewidths = plt.plot(x, y1, color='blue', linewidth=6) plt.plot(x, y2, color='orange', linewidth=1) [OK]
Hint: Assign color and linewidth clearly for each line [OK]
Common Mistakes:
  • Swapping colors and linewidths
  • Using strings for linewidth
  • Passing numbers as colors
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard