Significantly Improve the Quality of Matplotlib Plots by Doing (Almost) Nothing
A hidden Matplotlib hack waiting to be discovered.
Matplotlib has always been my go-to library for data visualizations.
But one of the things I dislike about using Matplotlib in Jupyter Notebook is that its plots become quite dull and blurry when scaled/zoomed.
This is evident from the image below:
This happens because Matplotlib plots are rendered as an image by default. Thus, any scaling/zooming drastically distorts their quality.
If you frequently use Matplotlib in Jupyter Notebook, then I am sure you would have noticed this too.
Yet, here’s a pretty cool hack to improve their quality significantly.
Instead of the default image rendering, start rendering your plots as a scalable vector graphic (SVG).
As the name suggests, it can be scaled without compromising the plot’s quality, which is evident from the image below:
As demonstrated in the image above, the plot rendered as SVG clearly outshines and is noticeably sharper than the default plot, despite zooming.
The following code lets you change the render format to SVG.
from matplotlib_inline.backend_inline import set_matplotlib_formats
set_matplotlib_formats('svg')
Alternatively, you can also use the following code:
%config InlineBackend.figure_format = 'svg'
If the difference is not apparent in the image above, I recommend trying it and noticing it.
Download this Jupyter Notebook to test this: Matplotlib SVG Notebook.
👉 Over to you: What are some other cool Matplotlib hacks that you are aware of?
👉 If you liked this post, don’t forget to leave a like ❤️. It helps more people discover this newsletter on Substack and tells me that you appreciate reading these daily insights.
The button is located towards the bottom of this email.
Thanks for reading!
Latest full articles
If you’re not a full subscriber, here’s what you missed last month:
DBSCAN++: The Faster and Scalable Alternative to DBSCAN Clustering
Federated Learning: A Critical Step Towards Privacy-Preserving Machine Learning
You Cannot Build Large Data Projects Until You Learn Data Version Control!
Sklearn Models are Not Deployment Friendly! Supercharge Them With Tensor Computations.
Deploy, Version Control, and Manage ML Models Right From Your Jupyter Notebook with Modelbit
Gaussian Mixture Models (GMMs): The Flexible Twin of KMeans.
To receive all full articles and support the Daily Dose of Data Science, consider subscribing:
👉 Tell the world what makes this newsletter special for you by leaving a review here :)
👉 If you love reading this newsletter, feel free to share it with friends!
Wonderful hack. And so easy to implement