web-dev-qa-db-ja.com

Rを使用してplot_lyでサブプロットに字幕を付ける方法

Plot_lyを使用してサブプロットに異なる字幕を付ける方法を知りたいです。ヒントを教えてください。この場合、私はタイトルBBを1つ取得しました。ありがとう。

p <- subplot(
      plot_ly(economics, x = date, y = uempmed)%>%layout(showlegend = FALSE, title="AA"),
      plot_ly(economics, x = date, y = unemploy)%>%layout(showlegend = FALSE, title="BB"),
margin = 0.05
) 
18
yuxu zi

レイアウトのtitle属性は、プロットサーフェス全体のタイトルを参照するため、1つしか存在できません。ただし、テキスト注釈を使用して、サブプロットの「タイトル」を作成できます。次に例を示します。

p <- subplot(
  plot_ly(economics, x = date, y = uempmed)%>%layout(showlegend = FALSE),
  plot_ly(economics, x = date, y = unemploy)%>%layout(showlegend = FALSE),
  margin = 0.05
) 
p %>% layout(annotations = list(
 list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, xref='paper', yref='paper'),
  list(x = 0.8 , y = 1.05, text = "BB", showarrow = F, xref='paper', yref='paper'))
)
16
d-roy

「手動」で配置する(つまり、@ d-royの答え)代わりに、subplot()の機能を利用して、注釈(および形状、画像など)などの紙で参照されるものを再配置できます。

library(plotly)
library(dplyr)

my_plot <- . %>% 
  plot_ly(x = ~date, y = ~value) %>%
  add_annotations(
    text = ~unique(variable),
    x = 0.5,
    y = 1,
    yref = "paper",
    xref = "paper",
    xanchor = "middle",
    yanchor = "top",
    showarrow = FALSE,
    font = list(size = 15)
  )

economics_long %>%
  group_by(variable) %>%
  do(p = my_plot(.)) %>%
  subplot(nrows = NROW(.), shareX = TRUE)
9
Carson

私は、subplot()ではなくplot_lyオブジェクト自体で、layout(annotations())スキームを使用することができました。これにより、動的な視覚化の配置がわずかに向上します。 @ d-royの答えを書き直すには:

p <- subplot(
  plot_ly(economics, x = date, y = uempmed) %>% 
     layout(annotations = list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, 
xref='paper', yref='paper'), 
     showlegend = FALSE),
  plot_ly(economics, x = date, y = unemploy) %>% 
     layout(annotations = list(x = 0.2 , y = 1.05, text = "AA", showarrow = F, 
xref='paper', yref='paper'), 
     showlegend = FALSE),showlegend = FALSE))`. 

この場合、注釈の座標は各注釈で同じであることに注意してください。これらの注釈は、全体として結合されたプロットではなく、各サブプロットを参照しているためです。

2
Adnan Hajizada