Plotly : Advanced plots and features
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Plotly is a d3 based graphing library used to produce interactive and high quality graphs in R. In the following exercises, we will look at some advanced plots and features avaialable in the package. Please note that the list here is not exhaustive.
We will use datasets available in base R packages.
You are expected to have the knowledge of generating basic plots using plotly package before attempting this exercise set. It is recommended that you go through this exercise set to test your knowledge on plotly basics.
Answers to the exercises are available here.
Refer to this link for more help on the plotly functions.
For a quick info on the functions and arguments required to build basic plotly plots, refer to this cheat sheet.
Exercise 1
Install and load the latest version of plotly
package.
Generate separate histograms for the first four columns of iris
dataset and save the plots in objects p1
, p2
, p3
and p4
.
HINT: Use plot_ly()
function with x
argument and type="histogram"
. Use name
argument to give appropriate name for the trace.
Exercise 2
a. Use subplot()
function to generate a plot with all the plot objects from previous exercise as the arguments.
b. Use the nrows
argument to arrange 2 plots per row.
Exercise 3
a. Generate a scatter plot for the iris dataset with first column on the x-axis and second column on the y-axis. Save the plot object.
b. Generate a 2d histogram using the add_histogram2d() function.Save the plot object.
HINT: Use the function plot_ly()
with the same x
and y
arguments and pass the plot object to the 2-d histogram function.
Exercise 4
Generate a subplot with the scatter plot and the 2-d histogram created in the previous exercise.
Notice how the scatter plot can be represented in a more interesting way. Cells in the 2-d histogram are binned and represented with the color on the scale based on the cell population/density.
Exercise 5
Set the value of shareX
and shareY
arguments in the subplot()
function to scale the plots to the same range of x
and y
.
Exercise 6
Now, let us build a 3-d surface plot. The syntax to build such plot is as below.
plot_ly(z = matrix(1:100, nrow = 10)) %>% add_surface()
Click, hold and drag the cursor to see the plot surface.
Build a 3-d surface plot using the volcano
dataset available in the base R distribution.
Exercise 7
Let’s look at few helpful and commonly used arguments from the layout()
function.
Create and save a scatter plot object with first and second columns of iris dataset as x
and y
arguments respectively. Colour the markers based on the species
Exercise 8
a. Add an appropriate title to the plot using the layout
function and title
argument.
b. Add an appropriate x-axis label using the xaxis
argument. xaxis
takes a list of attribute values. Refer to the R reference page for more help.
c. Add an appropriate y-axis label.
Exercise 9
a. Use the range
attribute in the list of values given to the xaxis
argument to set the x-axis range from 1 to 10.
b. Similarly, set the y-axis range from 1 to 5.
Exercise 10
Try different layout options to further customize the font, axes etc… of the plot.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.