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

Posted

技术标签:

【中文标题】在 plotly::subplot 中显示所有情节标题【英文标题】:Showing all plot titles in plotly::subplot 【发布时间】:2018-07-02 20:01:46 【问题描述】:

我有两个由Rplotly 创建的密度图:

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")

现在,我想将它们绘制在一起。所以我用了plotlysubplot

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

但这只保留了pl.2的情节标题:

我如何获得该情节上的两个标题?

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于在 plotly::subplot 中显示所有情节标题的主要内容,如果未能解决你的问题,请参考以下文章

plotly::subplot 注释标题在 R Shiny 中消失

在 R Shiny 中调整 Plotly::subplot 的高度和宽度

R plotly subplot 在图之间添加空间

UIViewController 内容未显示在情节提要上

UIToolbar 未位于设备底部,但在情节提要中显示正常

表格视图单元格未显示在情节提要中