Rohit Deshpande
November 30, 2025
data("mtcars")
mtcars_prepped <- mtcars %>%
tibble::rownames_to_column("car") %>%
mutate(
cyl = factor(cyl),
gear = factor(gear)
)
head(mtcars_prepped)## car mpg cyl disp hp drat wt qsec vs am gear carb
## 1 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## 3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## 4 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## 5 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## 6 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
plot_ly(
data = mtcars_prepped,
x = ~hp,
y = ~mpg,
type = "scatter",
mode = "markers",
color = ~cyl,
size = ~wt,
text = ~paste("Car:", car,
"<br>Cylinders:", cyl,
"<br>Gears:", gear,
"<br>HP:", hp,
"<br>MPG:", mpg),
hoverinfo = "text"
) %>%
layout(
title = "Horsepower vs. MPG (mtcars)",
xaxis = list(title = "Horsepower"),
yaxis = list(title = "Miles per Gallon"),
legend = list(title = list(text = "Cylinders"))
)