Plotting with Plotly
While there are other plotting libraries, we will focus on plotly for the following reasons:
- has the ability to zoom
 - images can be downloaded as 
pngfiles - select features can highlight features of the plot
 
Basic Plot
Let's make a scatterplot:
import plotly.express as px
fig = px.scatter(df,                      # the data we are using
                 x="Day",                 # x axis data
                 y="OtuCount",            # y axis data
                 color='Day',             # how to color our data
                 template="simple_white") # what theme we would like
fig.show()
Scatterplot

Adding A TrendLine
We can add a trend line as well:
import plotly.express as px
fig = px.scatter(df,
                 x="Day",
                 y="OtuCount",
                 color='Day',
                 template="simple_white",
                 trendline="ols")         # add in a trend line
fig.show()
Adding A Trend Line

Scaling
Now if one of your axes spans multiple magnitudes you can scale your data using the log_x or log_y arguements:
fig = px.scatter(df,                                   
                 x="Day",                              
                 y="OtuCount",                          
                 color='Day',                           
                 template="simple_white",
                 trendline="ols",
                 log_y = True)             # scale y axis
fig.show()
Scaling

Panels
Sometimes it is useful to separate data by some variable and create panels. We can easily do this by specifying the facet_row or facet_col arguements - where plots are stacked one on top of the other or side-by-side, respectively:
fig = px.scatter(df,                                   
                 x="Day",                              
                 y="OtuCount",                          
                 color='Day',                           
                 template="simple_white",
                 facet_col = "DaySinceExperimentStart") # split plots by variable
fig.show()
Adding Panels

Modifying Text
To modify text we can use the labels and title option:
fig = px.scatter(df,                                   
                 x="Day",                              
                 y="OtuCount",                          
                 color='Day',                           
                 template="simple_white",
                 labels={                        
                     "OtuCount": "OTU count"     # add in a space and capitalize
                 },
                 title = "Figure 1")             # add in figure title
fig.show()
Modifying Text

Tip
For more plots and plot customization options, checkout the Plotly Graphing Library Page for more information