2017-02-27 75 views
2

也許一個簡單的問題:操縱[R plotly傳說

嘗試使用plotly產生散點圖和定製的傳說。

這裏是我的數據:

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) 

對我來說,我與列索引調用此,這樣的:

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並使圖例小於默認大小。所以我想:

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: titleenter 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) 
     ) 
)