How to Change Fonts in Matplotlib?
0 1650
How to Change Fonts in Matplotlib
Matplotlib is a versatile plotting library in Python, widely used for creating static, animated, and interactive visualizations. One important aspect of designing effective plots is controlling the font styles. Changing fonts in Matplotlib allows you to enhance the readability and aesthetics of your charts.
Why Change Fonts in Matplotlib?
Default fonts may not always suit your presentation or publication needs. Customizing fonts helps you maintain brand consistency, improve clarity, or add a creative touch to your visualizations. Matplotlib provides several methods to easily change fonts globally or locally within your plots.
Changing Fonts Globally Using rcParams
The easiest way to set a font style for all your plots is by modifying the rcParams dictionary. This change affects all subsequent plots in the session:
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'serif'
plt.rcParams['font.serif'] = ['Times New Roman']
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("Global font change example")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.show()
Here, the font family is set to serif, specifically “Times New Roman”, which will be applied to all text elements in the plot.
Changing Fonts for Specific Text Elements
If you want to customize fonts for only certain parts of the plot, such as the title or axis labels, you can use font properties in the plotting functions:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("Custom Font Title", fontdict={'family': 'monospace', 'color': 'purple', 'size': 16})
plt.xlabel("X-axis Label", fontsize=14, fontname='Comic Sans MS')
plt.ylabel("Y-axis Label", fontsize=14, fontname='Arial')
plt.show()
This approach provides flexibility to style each text component independently.
Using Font Properties with the FontManager
Matplotlib also supports advanced font customization using the FontProperties class from matplotlib.font_manager. This is helpful when you want to reuse the same font style multiple times:
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(family='fantasy', style='italic', size=18)
plt.plot([1, 2, 3], [3, 2, 1])
plt.title("Title with FontProperties", fontproperties=font)
plt.show()
This method offers a structured way to manage fonts when dealing with complex plots.
Conclusion
Customizing fonts in Matplotlib is straightforward and essential for producing professional and attractive visualizations. Whether changing fonts globally using rcParams or locally via font dictionaries and FontProperties, Matplotlib provides all the tools necessary to make your charts stand out.
For dedicated UPSC exam preparation, we highly recommend visiting www.iasmania.com. It offers well-structured resources, current affairs, and subject-wise notes tailored specifically for aspirants. Start your journey today!
Share:



Comments
Waiting for your comments