
Explore geospatial data visualization with Python, using dupata notebooks to blend pandas, matplotlib, geopandas, and seaborn for interactive maps and rich plots.
Explore geospatial data visualization with Python, from Matplotlib and Seaborn to dynamic plotting with Plotly and Bokeh, and mapping tools like Kepler.gl and Leaflet.
Learn matplotlib, the foundational Python plotting library, and compare its functional and object oriented styles while seeing how it underpins pandas and seaborn for flexible visualizations.
Explore two matplotlib approaches: functional and object-oriented, by building and labeling simple plots, adjusting axis limits, combining functions on one figure, and saving figures in a jupyter notebook.
Learn the Matplotlib object oriented programming approach by creating figure and axes objects, setting dpi, enabling grids, using subplots, and saving cosine plots as images.
Learn to create multiple plots on a single figure with matplotlib, using add axis and the subplots method to place, size, and arrange insets, grids, and two-dimensional subplot arrays.
Visualize geospatial biodiversity data from a pandas data frame, plotting bird richness and other diversity metrics on 50 km hex grids in Mexico, with subsets, samples, and multi-series plots.
Plot data series from a pandas DataFrame to compare observations with species richness, using markers, transparency, and optional log-scaled axes; explore multi-plot layouts and a diagonal-eliminated correlation matrix.
Explore styling markers in matplotlib, choosing face and edge colors, sizes, shapes, and transparency with color codes, hex, and RGB to enhance geospatial visualizations.
Learn to style lines in matplotlib with color, width, dash patterns, and transparency using format codes. Examine joint and cap styles, including miter, bevel, round, and dash patterns with offsets.
Learn how to annotate a Matplotlib plot by placing labeled text and arrows using different coordinate systems, bounding boxes, and styling options to clearly identify data points.
Style text in matplotlib plots by adjusting size, color, font family, weight, and style for labels and titles. Use LaTeX-style equations with raw strings to render formulas.
Explore a range of pure matplotlib plots beyond text styling, including histograms, two-dimensional histograms, and scatter plots, with color and size encoding to reveal four data dimensions.
Explore box plots and violin plots to describe distributions, using the median, 25th–75th percentiles, and outliers; learn to create bar, pie, and histogram visuals with matplotlib, pandas, and seaborn.
Learn to create histograms with pandas plotting, compare with matplotlib and seaborn, and customize with subsets, stacking, subplots, and variable bins.
Explore Pandas plotting to create histograms, boxplots, area charts, and scatterplots, compare by category, customize with color maps, and combine multiple series for geospatial data visualization.
Learn to visualize dense geospatial data with pandas, using hexbin plots for density, bar and pie charts, and scatter matrices, plus customization with matplotlib and seaborn.
Learn to plot geospatial data with geopandas in a Jupyter notebook workflow, visualizing polygons, lines, and points, and style maps by elevation, ecoregions, or biodiversity indices.
Learn to create geospatial plots in matplotlib with geopandas, styling axes and colors, overlaying Japan data with Mexico state boundaries, and clipping polygons with annotations for publication quality maps.
Plot raster data with rasterio and matplotlib, converting array coordinates to geographic coordinates via a six-number transformation and world files, and overlay Mexican state boundaries on rainfall and elevation rasters.
Explore contour lines and masking in geospatial data visualization with Python, using rainfall rasters to create contour maps, adjust levels, apply masking to Mexico boundary, and project to geographic coordinates.
Learn how multiband rasters form true color and false color images by combining red, green, and blue bands, and apply near infrared mappings for vegetation and other features.
Add online base maps to matplotlib plots using contextily, aligning web mercator tiles with your raster and vector data for richer spatial context.
Explore how to locate and compare online basemaps for geospatial plots using contextily, drilling into nested dictionaries to access open street map, open topo map, and stamen options.
Explore Seabourne's visualization workflow with themes, palettes, hue, and legend placement, and see how it builds on matplotlib and pandas for richer, multi-dimensional plots.
Explore distributional plots in Seabourne, including rugplots, histograms, and kernel density plots, using hue and bandwidth to reveal patterns in plant richness data.
Explore Seaborn distribution plots—histograms, KDE plots, and rugplots—using Fassett grid objects to compare distributions across categories while adjusting height and aspect for readability.
Explore distributional plots beyond histograms and kde, including box plots, violin plots, swarm plots, and strip plots, to compare richness across ecoregions using seaborn in geospatial data visualization.
Explore how box plots, violin plots, strip plots, swarm plots, and facet grids reveal distributional patterns in geospatial data using seaborn catplot and the kind parameter.
Explore seaborn bar charts and catplot to visualize summarized data automatically, compare means and medians, add error bars, and customize ordering, hue, and plot types.
Revisit scatterplots with regplots, jointplots, and facet grids to visualize relationships, fit regression lines with 95% confidence intervals, and explore Seaborn pair plots and plot methods.
Explore Plotly’s core concepts for geospatial visualization, using the Python API and Express to build interactive maps with pandas, chart studio hosting, and web-based interactivity.
Install Plotly, build a bar and a scatter plot, and export interactive HTML—using Plotly Express to color by category and facet data.
Explore the range of plot types in Plotly Express for tabular data, including histograms, box and violin plots, strip plots, bar charts, and scatter matrix, with interactivity and color encoding.
Learn to build interactive geospatial plots with Plotly using Mexico state data, with hover attributes, pan and zoom, and multiple projections, including protected vs non-protected area comparisons.
Learn to build interactive leaflet maps in Python with Folium, converting geospatial data to JSON, adding markers, tooltips, popups, and custom styling.
Learn to install the geospatial data science stack across Windows, Mac, and Linux using Python virtual environments, pip, and conda, and install the five packages with their dependencies.
Set up a python virtual environment for geospatial data science and install packages with pip. Activate the environment, upgrade pip, and verify with a jupyter notebook on macOS.
Install and configure the geospatial data science stack on Windows with anaconda or miniconda, create and activate a virtual environment, and install geopandas, fiona, gdal, pyproj, shapely, and jupyter notebooks.
explore how web colors are specified using named constants and rgb hex codes, including 24-bit rgb with six hex digits, and use color pickers to preview values.
Explore GeoJSON to understand points, lines, polygons, and multipoint structures with coordinates and geometry types. Learn how features and feature collections combine geometry with properties for flexible, multi-geometry datasets.
Pandas and GeoPandas within a Jupyter Notebook environment provide a powerful alternative to traditional desktop GIS methods for geospatial analysis. The ability to incorporate visualizations of both tabular data and geospatial data from within your analysis workflow is one of the big advantages of this approach.
This course provides detail on how to create beautiful tabular and geospatial visualizations using Matplotlib, Pandas, GeoPandas, Rasterio, Contextily, Seaborn, Plotly, Bokeh and other Python packages within a Jupyter Notebook environment.
We start with Matplotlib because it is the core upon which all of the other static plotting methods are based. Pandas, GeoPandas, Rasterio, Contextily, and Seaborn all produce Matplotlib objects as output. If you understand Matplotlib you can use that knowledge to modify the lots put out by any of these other packages. You can control the labels and titles, place annotation on the maps, include ticks and gridlines, place legends, set the x and y limits and more. And you can control every detail of those outputs, even when the higher level plotting API's make it easy to produce the base output with a single line of code.
Plotly and Bokeh produce dynamic output that is based on JavaScript and are able to respond to mouse movements, clicks, etc.