## The Relationship Between Precipitation and Stream Discharge | Explore Mass Balance

Learn how to create a cumulative sum plot in Pandas to better understand stream discharge in a watershed

*last updated: 30 Mar 2020*

In Earth data science, often the greatest amount of time is spent figuring out how to open, clean up and explore your data. Once the data are cleaned up, you can then begin to visualize and analyze them. In the lessons below, learn the basic skills needed to open, clean up, plot and analyze scientific data.

Learn how to create a cumulative sum plot in Pandas to better understand stream discharge in a watershed

*last updated: 30 Mar 2020*

Learn how to calculate exceedance probability and return periods associated with a flood in Python.

*last updated: 30 Mar 2020*

When you plot time series data using the matplotlib package in Python, you often want to customize the date format that is presented on the plot. Learn how to customize the date format on time series plots created using matplotlib.

*last updated: 03 Mar 2020*

Sometimes you need to take time series data collected at a higher resolution (for instance many times a day) and summarize it to a daily, weekly or even monthly value. This process is called resampling in Python and can be done using pandas dataframes. Learn how to resample time series data in Python with Pandas.

*last updated: 03 Mar 2020*

Sometimes you have data over a longer time span than you need for your analysis or plot. Learn how to subset your data using a begin and end date in Python.

*last updated: 03 Mar 2020*

Python provides a datetime object for storing and working with dates. Learn how you can convert columns in a pandas dataframe containing dates and times as strings into datetime objects for more efficient analysis and plotting.

*last updated: 03 Mar 2020*

Matplotlib is the most commonly used plotting library in Python. Learn how to customize the colors, symbols, and labels on your plots using matplotlib.

*last updated: 03 Mar 2020*

Matplotlib is the most commonly used plotting library in Python. Learn how to create plots using the matplotlib object oriented approach.

*last updated: 21 Oct 2019*

When making maps, you often want to create legends, customize colors, adjust zoom levels, or even make interactive maps. Learn how to customize maps created using vector data in Python with matplotlib, geopandas, and folium.

*last updated: 30 Jan 2020*

Interactive maps allow you to easily explore data. Learn how to create interative leaflet maps embedded in a Jupyter Notebook using Python and folium.

*last updated: 02 Apr 2020*

When making maps, sometimes you want to zoom in to a specific area in your map. Learn how to adjust the x and y limits of your matplotlib and geopandas map to change the spatial extent that is displayed.

*last updated: 30 Jan 2020*

When making maps, you often want to add legends and customize the map colors. Learn how to customize legends and colors in matplotlib maps created using vector data in Python.

*last updated: 03 Apr 2020*

When plotting raster and vector data together, the extent of the plot needs to be defined for the data to overlay with each other correctly. Learn how to define plotting extents for Python Matplotlib Plots.

*last updated: 01 Apr 2020*

Sometimes you want to customize the colorbar and range of values plotted in a raster map. Learn how to create breaks to plot rasters in Python.

*last updated: 01 Apr 2020*

Folium is a Python package that can be used to create interactive maps in Jupyter Notebook. Learn how to create interactive maps with raster overlays in Python using Folium.

*last updated: 02 Apr 2020*

A hillshade is a representation of the earth's surface as it would look with shade and shadows from the sun. Learn how to overlay raster data on top of a hillshade in Python.

*last updated: 01 Apr 2020*

When plotting rasters, you often want to overlay two rasters, add a legend, or make the raster interactive. Learn how to make a map of raster data that has these attributes using Python.

*last updated: 03 Mar 2020*

You can access twitter social media data using the twitter API automatically in Python. Learn about the basics of downloading twitter data using open source Python.

*last updated: 01 Apr 2020*

Learn how to perform a basic sentiment analysis using the tidytext package in R.

*last updated: 03 Sep 2019*

This lesson provides an example of modularizing code in R.

*last updated: 03 Sep 2019*

This lesson provides an example of modularizing code in R.

*last updated: 03 Sep 2019*

Text mining is used to extract useful information from text - such as Tweets. Learn how to use the Tidytext package in R to analyze twitter data.

*last updated: 03 Sep 2019*

You can use the Twitter RESTful API to access data about Twitter users and tweets. Learn how to use rtweet to download and analyze twitter social media data in R.

*last updated: 13 Mar 2020*

This lesson will discuss some of the challenges associated with working with social media data in science. These challenges include working with non standard text, large volumes of data, API limitations, and geolocation issues.

*last updated: 08 Jan 2020*

In this lesson you will review how to adjust the extent of a spatial plot in R using the ext() or extent argument and the extent of another layer.

*last updated: 03 Sep 2019*

In this lesson you learn to use the par() or parameter settings in R to plot several raster RGB plots in R in a grid.

*last updated: 03 Sep 2019*

In this lesson you review how to remove those pesky borders from a raster plot using base plot in R. We also cover adding legends to your plot outside of the plot extent.

*last updated: 03 Sep 2019*

This lesson covers how to overlay raster data on a hillshade in R using baseplot and layer opacity arguments.

*last updated: 03 Sep 2019*

This lesson covers creating a basemap with the ggmap package in R. Given some ongoing bugs with ggmap it also covers the map package as a backup!

*last updated: 03 Sep 2019*

This lesson introduces the mutate() and group_by() dplyr functions - which allow you to aggregate or summarize time series data by a particular field - in this case you will aggregate data by day to get daily precipitation totals for Boulder during the 2013 floods.

*last updated: 03 Sep 2019*

This lesson illustrated what your final stream discharge homework plots should look like for the week. Use all of the skills that you've learned in the previous lessons to complete it.

*last updated: 03 Sep 2019*

Learn how to summarize time series data by day, month or year with Tidyverse pipes in R.

*last updated: 03 Sep 2019*

Learn how to extract and plot data by a range of dates using pipes in R.

*last updated: 03 Sep 2019*

Times series data can be manipulated efficiently in R. Learn how to work with, plot and subset data with dates in R.

*last updated: 03 Sep 2019*

Learn how to plot data and customize your plots using ggplot in R.

*last updated: 03 Sep 2019*