将徽标嵌入在另一个嵌入式徽标的顶部

时间:2019-02-17 21:01:16

标签: r r-plotly

我有这个示例数据集(example_data)我想在溜冰场上绘制曲棍球射击位置。

structure(list(game_date = structure(c(17674, 17674, 17674, 17674, 
17674), class = "Date"), event_team = c("WSH", "WSH", "T.B", 
"T.B", "T.B"), event_description = c("WSH #8 OVECHKIN(12), Slap, Off. Zone, 53 ft.Assists: #92 KUZNETSOV(13); #43 WILSON(8) Expected Goal Prob: 1.6%", 
"WSH ONGOAL - #92 KUZNETSOV, Wrist, Off. Zone, 13 ft. Expected Goal Prob: 50.4%", 
"T.B ONGOAL - #17 KILLORN, Backhand, Off. Zone, 18 ft. Expected Goal Prob: 4.5%", 
"T.B ONGOAL - #17 KILLORN, Wrist, Off. Zone, 23 ft. Expected Goal Prob: 4.6%", 
"T.B ONGOAL - #27 MCDONAGH, Slap, Off. Zone, 57 ft. Expected Goal Prob: 1.2%"
), event_type = c(1, 0, 0, 0, 0), home_team = c("T.B", "T.B", 
"T.B", "T.B", "T.B"), away_team = c("WSH", "WSH", "WSH", "WSH", 
"WSH"), coords_x = c(-42, -80.3, 71, 67, 34), coords_y = c(-21, 
12, -3, 9, 19)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-5L))

我成功地将溜冰场和我的previous question的答案一起嵌入了溜冰场。现在,我想嵌入两个徽标(主队/离队徽标),并且我尝试了此代码,但无济于事...

example_data %>% 
  plot_ly(x = ~coords_x, y=~coords_y, 
          text= ~event_description)  %>%
  add_markers(size = ~event_type,
              sizes = c(150, 700),

              alpha = 0.75,
              color = ~factor(event_team),
              colors = c("black", "slategrey")
  ) %>%  
  layout(
    xaxis = list(range = c(-100,100)), 
    yaxis = list(range = c(-45,45)),
    images= list(
      list(
        source= "https://i.imgur.com/Y2kOUX5.png",
        xref= "paper",
        yref= "paper",
        x= 0,
        y= 1,
        sizex= 1,
        sizey= 1,
        opacity= 0.8,
        layer = "below"),
      list(
        source = "http://www.capsinfo.com/images/NHL_Team_Logos/NHL_Ducks_Primary.png"

      )
    )
  )

我在做什么错?我想我需要在列表中指定xrefyref等,但我不知道这些参数的含义

1 个答案:

答案 0 :(得分:0)

我认为您的第二张图片可能有问题(太大,太小?)。例如,使用网络上的另一张图片(在这里https://community.plot.ly/t/plotly-unable-to-embed-a-logo-or-background-image-in-plotly/2100/18)作为您的第二个徽标,设置正确的参数后,您会看到第二个徽标出现。

example_data %>% 
  plot_ly(x = ~coords_x, y=~coords_y, 
          text= ~event_description)  %>%
  add_markers(size = ~event_type,
              sizes = c(150, 700),

              alpha = 0.75,
              color = ~factor(event_team),
              colors = c("black", "slategrey")
  ) %>%  
  layout(
    xaxis = list(range = c(-100,100)), 
    yaxis = list(range = c(-45,45)),
    images= list(
      list(
        source= "https://i.imgur.com/Y2kOUX5.png",
        xref= "paper",
        yref= "paper",
        x= 0,
        y= 1,
        sizex= 1,
        sizey= 1,
        opacity= 0.8,
        layer = "below"),
      list(
        source = "https://images.contentful.com/w3cthbuv8rf8/1g2AFv1q32mcceWaSK6CCS/7e8ae1f1a9266a044aa1c7988612b985/2008-the-dark-knight-version-of-the-symbol-is-largely-unchanged-from-the-original.png",
        xref = "x",
        yref = "y",
        x = 50,
        y = -20,
        sizex = 20,
        sizey = 20,
        sizing = "stretch",
        opacity = 0.5

      )
    )
  )

现在,在您的问题中,您无需说出要放在哪里。要放置徽标,您可以使用两个不同的参考(纸或x / y坐标)。