【发布时间】:2018-09-28 20:40:55
【问题描述】:
我正在制作一个交互式闪亮图,用户可以在其中选择他们想要在每个轴上的内容,以及为点着色的属性。
为简单起见,我在这里提供了一个虚拟数据集:
test_df <-tibble(test_x = sample(c(1:100), 10),
test_y = sample(c(1:100), 10),
variable = rep(c("A", "B"), 5),
colour = rep(c("orange", "green"), 5))
以下代码可以正常工作(也适用于我的真实反应图,它要复杂得多并且有额外的参数):
test_df %>%
ggvis(x = ~test_x, y = ~test_y, fill:= ~colour) %>%
layer_points()
但是,当我尝试添加图例(使用add_legend())时,生成的图是空白的。它确实不产生错误消息(在这个虚拟代码和真实示例中都没有)。使用的代码是:
test_df %>%
ggvis(x = ~test_x, y = ~test_y, fill:= ~colour) %>%
layer_points() %>%
add_legend(scales = "fill", title = "blah")
我尝试使用以下问题中提供的信息以及帮助信息,但没有成功。
ggvis interactive figure does not work as expected using reactive values
ggvis output not appearing in shiny application
我觉得我遗漏了一些非常明显的东西,因此非常感谢任何建议或指导。我也知道闪亮的版本需要更复杂的代码,但我觉得如果我能先让它在本地工作,这将帮助我弄清楚下一步。
注意:我需要使用 ggvis 来启用悬停在工具提示上。我知道这可以简单地使用其他图形包来完成,但我需要 ggvis 答案。
谢谢!
【问题讨论】:
-
你有一个错字,应该是
fill= ~colour。否则它对我有用。 -
@kluu 感谢您的回复。但是,我需要在该列中列出这些点的特定颜色,因此是冒号。如果没有冒号,我会得到错误的颜色分配给点。
-
哦,我的错,甚至没有检查输出的颜色。
-
@kluu 没问题!无论如何,我花了一段时间才弄清楚这一点:)还有什么想法吗?