【发布时间】:2015-09-15 10:01:05
【问题描述】:
到目前为止,我有以下代码可以创建交互式绘图,但并不是我想要的:
#Create Data
library(ggvis)
set.seed(123)
tdat <- data.frame(group = rep(LETTERS[1:2], each = 50),
time = rep(seq(from = as.Date("2010-01-01"), length.out = 50, by = "day"), 2),
val = c(cumsum(rnorm(50)) + 100,
cumsum(rnorm(50)) + 100))
# ggvis Code
# Function for the tooltip
getData <- function(dat){
paste(paste("Time:", as.character(dat$time)),
paste("Group:", as.character(dat$group)),
paste("Value:", dat$val),
sep = "<br />")
}
# Visualisation
tdat %>% ggvis(~time, ~val, stroke = ~group) %>% layer_lines(strokeWidth := 1) %>%
layer_points(size = 1, fill = ~group) %>% add_tooltip(getData)
1) 我不想要点,只想要线条。没有 layer_points,就没有工具提示...
2) 变量时间是一个日期,但显示为一个整数。如何修复丑陋的数字?
非常感谢。
编辑
如果在调用 ggvis 函数之前将工具提示字段强制转换为字符,则可以将其格式化为日期,但它会引入其他问题。例如,x 轴显示不正确。
【问题讨论】:
-
您确定没有
layer_points就无法获得工具提示吗?我从你的代码中删除了layer_points,我仍然得到工具提示。 -
@Pascal 如果您删除
layer_points,您只会在整行中看到一个点。 -
Exaclty,我想省略 layer_points,但我只得到一个工具提示。
-
那么您的问题是否已更改为仅询问积分?在运行
ggvis函数之前将日期转换为字符的坏处是需要对网格线和 x 轴标签进行额外修复。 -
没错,实际上,我将重新表述问题以明确它并没有真正改变。