R 闪亮 ggvis add_legend 问题
R Shiny ggvis add_legend issue
我正在制作一个交互式闪亮图,用户可以在其中 select 他们在每个轴上想要的内容,以及为点着色的属性。
为简单起见,我在这里提供了一个虚拟数据集:
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
我觉得我遗漏了一些非常明显的东西,因此非常感谢任何建议或指导。我也知道 shiny 版本需要更复杂的代码,但我觉得如果我能先在本地运行它,这将帮助我弄清楚下一步。
注意:我需要使用 ggvis 来启用悬停在工具提示上。我知道这可以简单地使用其他图形包来完成,但我需要 ggvis 答案。
谢谢!
我不明白为什么你的代码不起作用。也许只是它不应该以这种方式使用。我发现的唯一解决方法是下面的解决方法,但我很确定可以做一些更好的事情。
test_df %>%
ggvis(x = ~test_x, y = ~test_y, fill = ~colour) %>%
add_legend(scales = "fill", title = "blah") %>%
scale_ordinal("fill", range = unique(test_df$colour)) %>%
layer_points()
我正在制作一个交互式闪亮图,用户可以在其中 select 他们在每个轴上想要的内容,以及为点着色的属性。
为简单起见,我在这里提供了一个虚拟数据集:
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
我觉得我遗漏了一些非常明显的东西,因此非常感谢任何建议或指导。我也知道 shiny 版本需要更复杂的代码,但我觉得如果我能先在本地运行它,这将帮助我弄清楚下一步。
注意:我需要使用 ggvis 来启用悬停在工具提示上。我知道这可以简单地使用其他图形包来完成,但我需要 ggvis 答案。
谢谢!
我不明白为什么你的代码不起作用。也许只是它不应该以这种方式使用。我发现的唯一解决方法是下面的解决方法,但我很确定可以做一些更好的事情。
test_df %>%
ggvis(x = ~test_x, y = ~test_y, fill = ~colour) %>%
add_legend(scales = "fill", title = "blah") %>%
scale_ordinal("fill", range = unique(test_df$colour)) %>%
layer_points()