As with statsmodels, Matplotlib does have a learning curve. There are two major interfaces, a low-level "axes" method and a ...
The fundamental technique has been studied for decades, thus creating a huge amount of information and alternate variations that make it hard to tell what is key vs. non-essential information.