显示plotly :: subplot中的所有情节标题

时间:2018-01-23 21:37:14

标签: r plotly subplot r-plotly

我有R的{​​{1}}创建的两个密度图:

plotly

现在,我想把它们联系在一起。所以我使用了set.seed(1) dens.1 <- density(runif(1000,0,100)) dens.2 <- density(runif(1000,100,10000)) df.1 <- data.frame(x=dens.1$x,y=dens.1$y) df.2 <- data.frame(x=dens.2$x,y=dens.2$y) library(plotly) pl.1 <- plot_ly(x=~df.1$x,y=~df.1$y,type='scatter',mode='lines',line=list(color="#A9A9A9")) %>% layout(xaxis=list(title="Count",zeroline=F),yaxis=list(title="Density",zeroline=F)) %>% layout(title="Data1") pl.2 <- plot_ly(x=~df.2$x,y=~df.2$y,type='scatter',mode='lines',line=list(color="#A9A9A9")) %>% layout(xaxis=list(title="Count",zeroline=F),yaxis=list(title="Density",zeroline=F)) %>% layout(title="Data2") 的{​​{1}}:

plotly

但只保留subplot的情节标题: enter image description here

如何在该剧情中获得这两个标题?

1 个答案:

答案 0 :(得分:1)

为了得到你想要的东西,根据这个(https://rpubs.com/bcd/subplot-titles)你可以使用:

a <- list(
  text = "Data 1",
  font = f,
  xref = "paper",
  yref = "paper",
  yanchor = "bottom",
  xanchor = "center",
  align = "center",
  x = 0.5,
  y = 1,
  showarrow = FALSE
)

b <- list(
  text = "Data 2",
  font = f,
  xref = "paper",
  yref = "paper",
  yanchor = "bottom",
  xanchor = "center",
  align = "center",
  x = 0.5,
  y = 1,
  showarrow = FALSE
)

pl.1 <- plot_ly(x=~df.1$x,y=~df.1$y,type='scatter',mode='lines',line=list(color="#A9A9A9")) %>%
  layout(xaxis=list(title="Count",zeroline=F),yaxis=list(title="Density",zeroline=F)) %>%
  layout(annotations = a)

pl.2 <- plot_ly(x=~df.2$x,y=~df.2$y,type='scatter',mode='lines',line=list(color="#A9A9A9")) %>%
  layout(xaxis=list(title="Count",zeroline=F),yaxis=list(title="Density",zeroline=F)) %>%
  layout(annotations = b)

subplot(list(pl.1,pl.2),nrows=1,shareX=F,shareY=F,titleX=T,titleY=T) %>% layout(showlegend=F)