Plotting in Python ================== .. figure:: https://rougier.github.io/python-visualization-landscape/landscape-colors.png :width: 800px :align: center :alt: Python plotting options Plotting libraries available in Python. Source: `https://pyviz.org/overviews/index.html `__\. Python has many nice, useful libraries that can be used for plotting. In the figure above, you can see a number of the available plotting library options, along with how they relate to one another. Of the options above, we would like to highlight: - `Matplotlib `__ - "*the grand old man of Python plotting*" (`Matplotlib gallery `__) - `Matplotlib Basemap `__ - Matplotlib plugin for visualizing maps in Python (`Matplotlib basemap gallery `__) - `Seaborn `__ - High-level interface for drawing attractive statistical graphics that is built on top of Matplotlib (`Seaborn gallery `__) - `Bokeh `__ - Modern plotting library for static / interactive web-based plots such as graphs, maps, charts etc. (`Bokeh gallery `__) - `Plotly `__ - Modern plotting library for static / interactive web-based plots such as graphs, maps, charts etc. Some features are commercial. (`Plotly gallery `__) - `Dash `__ - Dash is a Python framework for building analytical web applications. No JavaScript required. - `ggplot `__ - Familiar with doing plots in R using ggplot2? You can use ggplot in Python too! `(ggplot examples) `__ - `HoloViews `__ and `GeoViews `__ - Let the data visualize itself. (see this `HoloViews introductory video `__) - Modern and powerful visualization libraries built on top of Matplotlib and Bokeh that makes exploring and visualizing your data quicker than ever before - HoloViews is designed for basic plotting (`HoloViews tutorial `__ and `HoloViews examples `__) - GeoViews is designed for creating nice and interactive maps (`GeoViews gallery `__) .. attention:: Explore the galleries and examples of different visualization libraries above to learn what's possible to do in Python. As you can see from the examples, the plotting possibilities in Python are numerous and rich. Do you need to know them all? Of course not. Not even we do. It is not even reasonable to use them all. Instead you should start by learning to use one that suits your needs and then later extend your knowledge and skills to other visualization libraries when necessary. .. note:: In the Automating GIS processes course we will be learning a bit of some other plotting libraries not used in the Geo-Python course.