Python Visualization Landscape
Visualization is a big and hot topic. Many developers have their own solutions and contributed to many visualization packages in Python. Entering the Python visualization world, most people start with matplotlib. But matplotlib is limited in many ways. If you want to visualize a more complicated graph or with a lot more data, where can you go next? Which visualization library should you use? What does the Python visualization landscape look like? These are the questions I have pondered and there are many great resources out there to learn about the visualization landscape.
In PyCon 2017, Jake Vanderplas, core developer for Altair, presented a talk describing the history and landscape of Python visualization libraries (video: https://www.youtube.com/watch?v=FytuB8nFHPQ; slides: https://speakerdeck.com/jakevdp/pythons-visualization-landscape-pycon-2017). He visualized almost all of the Python visualization libraries in a connected graph showing the clusters and relationships among the tools. Nicolas P. Rougier later adapted the graph to the figure shown below. In November 2018, James Bednar, core developer for Bokeh, Holoviews, GeoViews, Datashader, Panel, and hvPlot, published an article further described the graph in details (Bednar, 2018). Finally, in June 2019, Anaconda published pyviz.org as an open-platform to track and inform the public about the current python visualization tools and development. For any data scientists who try to understand the Python visualization landscape, I recommend you to start with pyviz.org.