Unlike R, in which pretty much everybody uses and loves ggplot2 (including add-on packages), Python has several different options for graphics.
Static Graphing
- matplotlib - The classic Python graphing library, with fine-grained control over every aspect of a chart. Because of its age, it is the most popular and it has tons of documentation and tutorials. However, newer options tend to be easier to use and produce nicer-looking graphics.
- pandas - Strictly for dataframes, this package allows for super-concise creation of standard graphics, utilizing matplotlib in the background. Other libraries here are also compatible with Pandas.
- seaborn - Adapted from matplotlib to make exploratority data anlaysis simpler and pretiier, seaborn may still require utilizing matplotlib directly for some tasks. The compatibility also has meant that ease of use is not ideal. But, after many years, a new interface is coming which may further increase it's popularity.
- plotnine - ggplot2 users switching from R will feel right at home with this near-identical library, whereas native Python users will dislike that the syntax is non-pythonic. Because it is also built upon matplotlib, the graphs look similar and thus are not as pretty as that of alternatives.