拥有这段代码。我无法让它绘制两次图表。 按以下顺序尝试文本框的输入值:
例如,它只绘制一次图表。例如2,它只绘制两次(因为它们是不同的图表) 我可以根据用户的需要多次提示这项工作吗?
// StackOverflow requires code in order to link codepens!
$(window).load(function() {
$('.cssload-whirlpool').fadeOut();
$('.preloader').delay(350).fadeOut('slow');
$('body').delay(350).css({'overflow':'visible'});
})
答案 0 :(得分:1)
感谢专家的帮助,我能够理解为什么会这样。问题在于html试图找出正在呈现的图表。只有在我们拥有动态用户界面并且在调用相同的googlevis图表的情况下,它才会出现。 由于某种原因,它不知道哪个图表被引用,因此不会填充。我当然不是很了解HTML,我的陈述可能没有定论。 然而,它通过在渲染图表时添加图表ID来工作。
粘贴下面的代码,希望将来也可以帮助某人。
server <- function(input, output) {
observeEvent(input$go, {
output$plot1 <- renderGvis({
df <- data.frame(country=c("US", "GB", "BR"),
val1=c(10,33,44),
val2=c(23,122,342))
Sys.sleep(0.3)
gvisBarChart(df, xvar="country",chartid = "plot1",
yvar=c("val1", "val2"),
options=list(isStacked=TRUE, height = 300, width = 400))
})
output$plot2 <- renderGvis({
df <- data.frame(country=c("IND", "RUS", "BR"),
val1=c(10,3333,244),
val2=c(2344,122,342))
Sys.sleep(0.3)
gvisBarChart(df, xvar="country", chartid = "plot2",
yvar=c("val1", "val2"),
options=list(isStacked=TRUE, height = 300, width = 400))
})
output$ui <- renderUI({
if(isolate(as.numeric(input$textbox)) %in% c(1,2,3)){
box(title = "ABC", width = 10, height = 550, htmlOutput("plot1",height = 500))
}else{
box(title = "DEF", width = 4, height = 550, htmlOutput("plot2",height = 500))
}
})
})
}
虽然我已经解决了googlevis图表的问题,但我仍然在努力寻找如何对传单包中的地图做同样的事情。任何指针都非常受欢迎。 感谢。