ggplotly工具提示反应异常

时间:2019-04-01 16:37:32

标签: r ggplot2 r-plotly ggplotly

enter image description here

我有NBA球场的ggplotly对象,显示了每个球员的射门得分尝试。如您所见,当我将鼠标悬停在法院的每个区域上时,我会看到工具提示的行为非常难以预测。我之所以这样认为是因为法院是由geom_polygongeom_path共同产生的。参见下面的代码:

数据(gg_lineup_fga):http://www.filedropper.com/gglineupfga

rank_colors <- RColorBrewer::brewer.pal(5, "RdYlBu")

ggplot2::ggplot(data = gg_lineup_fga, ggplot2::aes(x=long, 
                                                                y=lat, 
                                                                group = group,
                                                                fill = rank,
                                                                text = paste0("FGA : ", round(fga, 2)))) +
  ggplot2::facet_grid(. ~ player) +
  ggplot2::geom_polygon()  +
  ggplot2::geom_path(color = "black")  +
  ggplot2::coord_equal() +
  ggplot2::scale_fill_manual(values = rank_colors,
                             limits = 1:5,
                             name = NULL) +
  ggplot2::theme(axis.line=ggplot2::element_blank(),
                 axis.text.x=ggplot2::element_blank(),
                 axis.text.y=ggplot2::element_blank(),
                 axis.ticks=ggplot2::element_blank(),
                 axis.title.x=ggplot2::element_blank(),
                 axis.title.y=ggplot2::element_blank(),
                 panel.background=ggplot2::element_blank(),
                 panel.border=ggplot2::element_blank(),
                 panel.grid.major=ggplot2::element_blank(),
                 panel.grid.minor=ggplot2::element_blank(),
                 strip.text = ggplot2::element_text(size = 16), 
                 strip.background = ggplot2::element_blank(),
                 legend.position = "none",
                 # legend.margin = ggplot2::margin(0.1, 0.1, 0.1, 0, "npc"),
                 plot.margin = ggplot2::unit(c(0, 0, 0, 0), "cm"),
                 panel.spacing.y = ggplot2::unit(0, "cm"),
                 text=element_text(size=16, family="Avenir"))

要解决此问题,我可以取出geom_path,但这可以消除法院区域的黑线边界。我想知道是否有一个参数阻止工具提示与geom_path进行交互(仅与geom_polygon进行交互)

1 个答案:

答案 0 :(得分:0)

删除geom_path并为geom_polygon添加颜色以为边界着色,即geom_polygon(color ='black')