【问题标题】:legends on ggvis graph are overlaping when using tooltip使用工具提示时,ggvis 图上的图例重叠
【发布时间】:2015-06-18 13:12:42
【问题描述】:

我正在生成一个带有ggvis 的图表,并且图例彼此重叠。

library(ggvis)
df1 <- data.frame(x=c(0.6,1,1.4), y=c(-2, -.8, -0.2), number=c(10,8,6), 
                  type=c('A', 'A', 'B'))
df1 %>% ggvis(x = ~x, y = ~y) %>% 
  layer_points(shape=~type, fill=~number) 

我该如何解决这个问题?

谢谢!


Steven 的解决方案适用于简单示例,但在添加工具提示时不起作用:

library(ggvis)
df1 <- data.frame(x=c(0.6,1,1.4), y=c(-2, -.8, -0.2), number=c(10,8,6), 
                  type=c('A', 'A', 'B'), id=c(1:3))

tooltip <- function(x) {
  if(is.null(x)) return(NULL)
  row <- df1[df1$id == x$id, ]
  paste0(names(row), ": ", format(row), collapse = "<br />")
}

df1 %>% ggvis(x = ~x, y = ~y) %>% 
  layer_points(shape=~type, fill=~number, key := ~id)  %>% 
  add_tooltip(tooltip, "hover") %>%
  add_legend("shape", properties = legend_props(legend = list(y = 50)))

【问题讨论】:

    标签: r ggvis


    【解决方案1】:

    试试:

    df1 %>% ggvis(x = ~x, y = ~y) %>% 
      layer_points(shape=~type, fill=~number) %>%
      add_legend("shape", properties = legend_props(legend = list(y = 50)))
    


    编辑:

    正如@aosmith 提到的,您可以使用set_options() 解决方法:

    df1 %>% ggvis(x = ~x, y = ~y) %>% 
      layer_points(shape=~type, fill=~number, key := ~id)  %>% 
      add_tooltip(tooltip, "hover") %>%
      add_legend("shape", properties = legend_props(legend = list(y = 50))) %>%
      set_options(duration = 0)
    

    【讨论】:

    • 当您有工具提示时,此解决方案不起作用 :( 我刚刚添加了该示例。谢谢!
    • @Ignacio 将set_options(duration = 0) 添加到管道末尾可能有助于添加工具提示。请参阅github issue #125 上的对话。
    • @aosmith 当您发表评论时,我实际上正在阅读相同的问题。 ggvis 还处于早期阶段;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多