Setting Global Plot Styles with RcParams in Matplotlib
📖 Scenario: You are preparing multiple charts for a presentation. You want all your plots to have the same style, like font size and line width, so they look consistent without changing each plot separately.
🎯 Goal: Learn how to set global default styles for all plots using matplotlib.rcParams. You will create a simple plot and change the global font size and line width so every plot uses these settings automatically.
📋 What You'll Learn
Create a dictionary with some sample data for plotting
Set global style defaults using matplotlib.rcParams
Plot the data using the default styles
Print the current global font size and line width settings
💡 Why This Matters
🌍 Real World
Setting global plot styles helps keep all charts in reports or presentations consistent and saves time by avoiding repeated style settings.
💼 Career
Data scientists and analysts often customize plot styles globally to maintain brand colors and readability in dashboards and reports.
Progress0 / 4 steps
1
Create sample data for plotting
Create a dictionary called data with keys 'x' and 'y'. Set 'x' to the list [1, 2, 3, 4, 5] and 'y' to the list [2, 3, 5, 7, 11].
Matplotlib
Hint
Use a dictionary with keys 'x' and 'y' and assign the exact lists as values.
2
Set global font size and line width using rcParams
Import matplotlib.pyplot as plt. Then set the global font size to 14 and the global line width to 3 using plt.rcParams.
Matplotlib
Hint
Use plt.rcParams['font.size'] = 14 and plt.rcParams['lines.linewidth'] = 3 to set global styles.
3
Plot the data using the global defaults
Use plt.plot() to plot data['x'] and data['y']. Then call plt.show() to display the plot.
Matplotlib
Hint
Use plt.plot(data['x'], data['y']) and then plt.show() to display the plot.
4
Print the current global font size and line width
Print the values of plt.rcParams['font.size'] and plt.rcParams['lines.linewidth'] on separate lines.
Matplotlib
Hint
Use print(plt.rcParams['font.size']) and print(plt.rcParams['lines.linewidth']) to show the current settings.
Practice
(1/5)
1. What is the main purpose of rcParams in matplotlib?
easy
A. To set global style defaults for all plots
B. To create new plots with random styles
C. To save plots as image files
D. To import data into matplotlib
Solution
Step 1: Understand what rcParams controls
rcParams is a dictionary-like object in matplotlib that stores default settings for plot styles.
Step 2: Identify the purpose of setting rcParams
Setting rcParams changes the default appearance of all plots globally, so you don't have to style each plot individually.
Final Answer:
To set global style defaults for all plots -> Option A
Quick Check:
rcParams = global style defaults [OK]
Hint: Remember rcParams sets defaults for all plots globally [OK]
Common Mistakes:
Thinking rcParams creates plots
Confusing rcParams with saving files
Believing rcParams imports data
2. Which of the following is the correct way to change the default figure size using rcParams?
easy
A. plt.rcParams['figure.size'] = (8, 6)
B. plt.rcParams['figsize'] = (8, 6)
C. plt.rcParams['fig.size'] = (8, 6)
D. plt.rcParams['figure.figsize'] = (8, 6)
Solution
Step 1: Recall the exact rcParams key for figure size
The correct key is 'figure.figsize', which expects a tuple for width and height.
Step 2: Check the syntax for assignment
Assigning a tuple like (8, 6) to plt.rcParams['figure.figsize'] sets the default figure size.
Final Answer:
plt.rcParams['figure.figsize'] = (8, 6) -> Option D
Quick Check:
Key 'figure.figsize' = correct syntax [OK]
Hint: Use 'figure.figsize' key exactly for figure size [OK]
Common Mistakes:
Using wrong key names like 'figsize' or 'figure.size'
Assigning a list instead of a tuple
Forgetting to import matplotlib.pyplot as plt
3. What will be the default line width for all plots after running this code?
import matplotlib.pyplot as plt
plt.rcParams['lines.linewidth'] = 3
print(plt.rcParams['lines.linewidth'])
medium
A. 1
B. 2
C. 3
D. Error
Solution
Step 1: Understand the code effect on rcParams
The code sets 'lines.linewidth' to 3, changing the default line width globally.
Step 2: Check the printed value
After setting, printing plt.rcParams['lines.linewidth'] outputs 3, confirming the change.
Final Answer:
3 -> Option C
Quick Check:
Set then print 'lines.linewidth' = 3 [OK]
Hint: Setting rcParams key changes default; print confirms value [OK]
Common Mistakes:
Expecting default 1 without setting
Confusing linewidth with linestyle
Thinking print causes error
4. Identify the error in this code that tries to set the default font size:
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = 'large'
medium
A. The key 'font.size' is incorrect
B. The value should be a number, not a string
C. plt.rcParams cannot be modified
D. Missing import statement
Solution
Step 1: Check the key correctness
'font.size' is the correct rcParams key for font size.
Step 2: Validate the value type
The value must be a number (int or float), not a string like 'large'.
Final Answer:
The value should be a number, not a string -> Option B
Quick Check:
font.size value must be numeric [OK]
Hint: Font size values must be numbers, not words [OK]
Common Mistakes:
Using string values for numeric rcParams keys
Assuming rcParams keys are case-insensitive
Forgetting to import matplotlib.pyplot
5. You want all your matplotlib plots to have a dark background and white grid lines by default. Which rcParams settings should you apply?
hard
A. plt.rcParams['axes.facecolor'] = 'black'; plt.rcParams['grid.color'] = 'white'
B. plt.rcParams['figure.facecolor'] = 'white'; plt.rcParams['grid.color'] = 'black'
C. plt.rcParams['axes.facecolor'] = 'white'; plt.rcParams['grid.color'] = 'black'
D. plt.rcParams['figure.facecolor'] = 'black'; plt.rcParams['grid.color'] = 'black'
Solution
Step 1: Identify the rcParams key for plot background
'axes.facecolor' sets the background color inside the plot area, so set it to 'black' for dark background.
Step 2: Identify the rcParams key for grid line color
'grid.color' controls the color of grid lines; setting it to 'white' makes them visible on a dark background.
Final Answer:
plt.rcParams['axes.facecolor'] = 'black'; plt.rcParams['grid.color'] = 'white' -> Option A
Quick Check:
Dark background + white grid = axes.facecolor black, grid.color white [OK]
Hint: Use axes.facecolor for background, grid.color for grid lines [OK]
Common Mistakes:
Changing figure.facecolor instead of axes.facecolor
Setting grid color to black on black background
Confusing axes and figure color keys
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.