Matplotlib is sometimes hard to use, the many ways to do the same thing are sometimes confusing for beginners but it also gives grainier control over minute details which is fantastic for high-quality figures. I wish it had a good 3D rendering though, it is pretty much impossible to display complex 3D objects without drawing issues.