我正在与R Shiny合作构建一个简单的绘图应用程序,但我认为我不太了解checkboxGroupInput
是如何工作的,R Shiny应用程序网站上的文档也不太有用,所以我希望得到一些澄清。
这是我的checkboxGroupInput
的样子:
checkboxGroupInput("trend1DisplayOptions", "Graph Display Options",
choiceNames = list("Connect Data Points", "Display Loess Smoother with Uncertainty Bounds"),
choiceValues = list("connect", "loess"),
selected = "connect")
因此,我实质上是在寻找显示4种不同“类型”的图,具体取决于所选择的复选框(是否显示黄土/连接点)。
在我的server
代码中,下面是if/else
语句:
if (input$trend1DisplayOptions == "connect" && input$trend1DisplayOptions != "loess") {
# Only connect points
p <- plot_ly(x = df2$labels, y = df2$values, type = 'scatter', mode='lines+markers') %>%
layout(xaxis = list(type = "category"))
p
# Probably wrong way to check
} else if (input$trend1DisplayOptions == "connect" && input$trend1DisplayOptions == "loess") {
# Should display nothing
# Probably wrong way to check
} else if (input$trend1DisplayOptions != "connect" && input$trend1DisplayOptions == "loess") {
# Should display nothing
} else if (is.null(input$trend1DisplayOptions)) {
# Should show
p <- plot_ly(x = x_labels, y = df$values, type = 'scatter') %>%
layout(xaxis = list(type = "category"), title = input$trendTitle)
p
}
我遇到的问题是,当同时选中两个复选框时,shiny
应用程序应该什么也不显示,但是它仍然显示第一个if
语句的情节(即,仅“连接” “)。而且,当两者均未选择时,我会收到missing value where TRUE/FALSE needed
错误。
我对checkboxGroupInput
有什么误解?
我可以看到问题是假设输入值同时等于2个值。那么,检查复选框1是否被选中,复选框2是否被选中,反之亦然的正确方法是什么呢?另外,我在该论坛上进行了搜索,以查看在未选择任何一个时如何处理,看来is.null()
是正确的选择。为什么对我的情况不起作用?
答案 0 :(得分:1)
好像我误读了S.O之一。答案。我应该使用requests
和def sendCommand():
requests.get('http://ip:port/sendcommand/arm_id=1&camera_id=2&command_type=3&command_value=4')
def getCommand():
r = requests.get('http://ip:port/receivecommand/arm_id=1')
if r.status_code == 200:
return r.content
else:
raise requests.exceptions.ConnectionError('request failed')
来检查组合。
如果有人需要,这是正确的版本:
%in%