在R图表中组合颜色和形状

时间:2016-05-30 16:44:13

标签: r plotly

这可能吗?我想做像

这样的事情
library(plotly)
library(dplyr)

df <- data.frame(a=c(1,2,3,4,5,6),b=c(3,5,2,6,8,1),c=c("p","p","q","r","r","r"),
             d=c("v","v","w","v","v","v"), stringsAsFactors= F)


df %>% 
plot_ly(x=a,y=b,mode="markers",type="scatter", color=c, 
      marker = list(          
       symbol=d)
  )

但我想要的第三个数据点上的不同符号没有出现

enter image description here

也可以将符号设置为默认值

TIA

1 个答案:

答案 0 :(得分:1)

只需在此复制我的评论:

如果您想坚持plotly,可以使用:

df %>% plot_ly(x=a,y=b,mode="markers", symbol=d, color=c)

您还可以使用以下内容定义符号:

symbols = c("cross", "square", "triangle-down")

编辑: 您可以创建交互,然后将此新因子用作符号。你将只有一个传奇(我不认为原生plotly有两个传说。)

df$Int <- interaction(df$c, df$d)
df %>% plot_ly(x=a,y=b,mode="markers", symbol=Int)

但你也可以使用ggplot2使用:

ggplot(data=df, aes(x=a, y=b, shape=d, color=c)) + geom_point()
ggplotly()