2017-07-05 137 views
1

对于数据集mtcars,我想绘制散点图(wt v.s. mpg)和am作为颜色组。R plotly add_trace到具有颜色组的图表

然后我想添加从(2,15)到(3,25)的轨迹。

mtcars$am = as.character(mtcars$am) 
plot_ly(mtcars,x = ~ wt, y= ~ mpg, color = ~ am, type='scatter', mode = 'markers') %>% 
    add_trace(x = c(2,15), y = c(3,25), mode="lines") 

没有add_trace的代码正常工作。如何添加这一行?

回答

1

选项1:

library(plotly) 
library(ggplot2) 
p <- ggplot(mtcars) + geom_point(aes(x = wt, y = mpg, col = am)) + geom_segment(aes(x = 2, y = 3, xend = 15, yend = 25)) 
ggplotly(p) 

选项2:

plot_ly() %>% 
add_trace(data = mtcars,x = ~ wt, y= ~ mpg, color = ~ am, type='scatter', mode = 'markers') %>% 
add_trace(x = c(2,15, rep(NA,nrow(mtcars))), y = c(3,25,rep(NA,nrow(mtcars))), mode="lines") 

enter image description here

+0

任何使用'plot_ly'直接方式?我的数据中有时间戳。 Plotly更友善。 – John

+1

在选项2中,没有颜色。这是困难的一点。如果我们不需要'am'来替换颜色,删除'rep'不会改变任何东西。 – John

+0

是的,它的工作原理。谢谢。 – John