2017-02-27 7 views
2

아마 쉬운 질문 : 산포도를 생산하고 범례를 사용자 정의 할 수 plotly를 사용하려고조작 및 R plotly 전설

.

x.idx <- which(colnames(my.df) == "x") 
y.idx <- which(colnames(my.df) == "y") 
sig.idx <- which(colnames(my.df) == "sig") 
sig.name <- "p-value" 

그리고 내가 뭘 원하는 범례 제목 sig.name 일이 있습니다 : 따라서, 내 경우

require(plotly) 
set.seed(1) 

my.df <- data.frame(id=LETTERS[sample(26,100,replace=T)],x=rnorm(100),y=rnorm(100),sig=runif(100,0,1),stringsAsFactors = F) 

내가 열 인덱스와이 전화 해요 : 여기

내 데이터의 범례를 기본 크기보다 작게 만듭니다. 그래서 나는 시도하고있다 :

p <- plot_ly(x=~my.df[,x.idx],y=~my.df[,y.idx],color=~my.df[,sig.idx],text=~my.df$id,colors=c("darkblue","darkred")) %>% add_annotations(text=sig.name,xref="paper",yref="paper",xanchor="left",x=1,y=1,yanchor="top",legendtitle=T,showarrow=FALSE) %>% layout(legend=list(y=0.8,yanchor="top"),xaxis=list(title=colnames(my.df)[x.idx],zeroline=F),yaxis=list(title=colnames(my.df)[y.idx],zeroline=F)) 

나 제공 : enter image description here

을 내가 원하는 아니 정확히.

그래서 :

  1. 어떻게 기본 범례 제목을 삭제합니까?

  2. 어떻게 범례를 작게 만들 수 있습니까?

+0

전설로 무엇을 의미합니까? 컬러 바 또는 텍스트? –

답변

2

아마도 colorbar: lencolorbar: title을 찾고있을 것입니다. enter image description here

plot_ly(type = 'scatter', 
     mode = 'markers', 
     x = ~my.df[,x.idx], 
     y = ~my.df[,y.idx], 
     color = ~my.df[,sig.idx], 
     text =~my.df$id, 
     colors = c("darkblue","darkred"), 
     marker = list(colorbar = list(len = 0.2, 
             title = sig.name) 
     ) 
)