散点图中的R ggvis字体和交互式文本的参数(悬停)

时间:2015-06-29 15:14:10

标签: r text format interactive ggvis

我想知道是否有办法使用"hover"修改ggvis上显示的文字的特征。

我根据在互联网上找到的模板创建了一个散点图,并根据我的需要进行了修改。

脚本如下:

library(shiny)
library(ggvis)

mydata <- data
mydata$id <- 1:nrow(mydata)  # Add an id column to use ask the key


all_values <- function(x) {
  if(is.null(x)) return(NULL)
  row <- mydata[mydata$id == x$id, ]
  paste0(
        names(row), ": ", format(row), collapse = "\n"
        )
}

# factor Location
mydata %>% ggvis(~a, ~b, key := ~id) %>%
  layer_points(fill = ~factor(Location)) %>%
  scale_numeric("x", trans = "log", expand=0) %>%
  scale_numeric("y", trans = "log", expand=0) %>%
  add_axis("x", title = "blabla1") %>%
  add_axis("y", title = "blabla2") %>%
  add_tooltip(all_values, "hover")

我想知道的基本上是如何在散点图上以交互方式格式化文本。

主要是我想:

  1. 在显示每个参数后继续新行("\n"中的collapse命令paste0似乎不起作用)
  2. 如何以粗体显示names(row)

1 个答案:

答案 0 :(得分:1)

您必须在paste0()中使用相应的HTML标记:

  • 新行:collapse = "<br />"
  • 粗体:"<b>", names(row), "</b>:"

由于您没有提供可重现的示例,因此这里有一个mtcars

mtc <- mtcars
mtc$id <- 1:nrow(mtc)  # Add an id column to use ask the key

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

mtc %>% 
  ggvis(x = ~wt, y = ~mpg, key := ~id) %>%
  layer_points() %>%
  add_tooltip(all_values, "hover")

enter image description here