我有一个 data.frame
,想要使用 R
的 plotly
绘制散点图,并用两个因素进行颜色和形状的设置。
以下是我的数据:
set.seed(1)
df <- data.frame(x=rnorm(12),y=rnorm(12),
group=c(rep(1,3),rep(2,3),rep(3,3),rep(4,3)),
treatment=c(rep("A",6),rep("B",6)),
stringsAsFactors=F)
df$group <- factor(df$group,levels=1:4)
df$treatment <- factor(df$treatment,levels=c("A","B"))
以下是我尝试绘制的方式:
require(plotly)
plot_ly(marker=list(size=10),type='scatter',mode="markers",x=~df$x,y=~df$y,color=~df$group,symbol=~df$treatment) %>%
add_annotations(text="group,treatment",xref="paper",yref="paper",x=1.02, xanchor="left",y=1.02,yanchor="top",legendtitle=TRUE,showarrow=FALSE) %>%
layout(xaxis=list(title="x"),yaxis=list(title="y"))
这给了我:
![enter image description here](https://istack.dev59.com/EsjHH.webp)
group
和treatment
的文本用逗号分隔而不是换行符分隔?这意味着,取代当前的格式:1
A
2
A
3
B
4
B
我将得到以下格式:
1,A
2,A
3,B
4,B
df$treatment <- factor(...
,这样也适用于字符。 - Maximilian Peters