# load the plotly
library (plotly)
## Warning: package 'plotly' was built under R version 4.3.3
## Loading required package: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
# load the diamonds dataset from the ggplot2 package
data(diamonds, package="ggplot2")
diamonds
## # A tibble: 53,940 × 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
## 7 0.24 Very Good I VVS1 62.3 57 336 3.95 3.98 2.47
## 8 0.26 Very Good H SI1 61.9 55 337 4.07 4.11 2.53
## 9 0.22 Fair E VS2 65.1 61 337 3.87 3.78 2.49
## 10 0.23 Very Good H VS1 59.4 61 338 4 4.05 2.39
## # ℹ 53,930 more rows
plot_ly(mpg, x = ~cty, y = ~hwy, z = ~cyl) %>%
add_markers(color = ~cyl)
Figure 8.1: A 3D scatterplot.
plot_ly(mpg, x = ~cty, y = ~hwy, z= ~cyl) %>%
add_paths(color = ~displ)
Figure 8.2: A path with color interpolation in 3D.
plot_ly(mpg, x = ~cty, y = ~hwy, z= ~cyl) %>%
add_lines(color = ~displ)
Figure 8.3: A line with color interpolation in 3D.
plot_ly(mpg, x = ~cty, y = ~hwy, z = ~cyl) %>%
group_by(cyl) %>%
add_lines(color = ~displ)
Figure 8.4: Using group_by () to create multiple 3D lines.
plot_ly(mpg, x = ~cty, y = ~hwy, z = ~cyl) %>%
add_lines(color = ~displ) %>%
layout(
scene = list(
xaxis = list (title = "MPG city"),
yaxis = list (title = "MPG highway"),
zaxis = list (title = "Numbers of cylinders")
)
)
Figure 8.5: Setting axis title on a 3D plot.
x <- seq_len(nrow(volcano)) + 100
y <- seq_len(ncol(volcano)) + 500
plot_ly() %>% add_surface(x = ~x, y = ~y, z= ~volcano)
Figure 8.6: A 3D surface of volcano height.