这可能吗?我想做像
这样的事情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)
)
但我想要的第三个数据点上的不同符号没有出现
也可以将符号设置为默认值
TIA
答案 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()