编写我的第一个闪亮应用程序,如何按选定变量绘图,为什么这个脚本不起作用?
Writing my first shiny app, How do I plot by selected variables, why does this script not work?
我正在尝试编写我的第一个闪亮的应用程序,它将在两个变量之间进行一些统计分析,并绘制一个显示它们之间关系的图。我的数据将被预先确定。对于图表,我决定使用 highcharter 但我该如何编写代码呢?上面的代码是我的第一次尝试,但我似乎无法弄清楚为什么它不起作用。我也尝试了 highcharter 指南中的 shiny 示例代码,但它似乎也不起作用。
library(shiny)
library(highcharter)
library(tidyverse)
data(iris)
ui <- fluidPage(
selectInput("First", label = "First Variable", width = "100%",
choices = colnames(iris)),
selectInput("Second", label = "Second", width = "100%",
colnames(iris)),
highchartOutput("hchartcont")
)
server = function(input, output) {
output$hchartcont <- renderHighchart({
hc <- highchart() %>%
hc_chart(type="line") %>%
hc_xAxis(input$First) %>%
hc_yAxis_multiples(input$Second)
hc
}
)
}
shinyApp(ui = ui, server = server)
虽然不熟悉 highcharter
,但您的代码似乎没有为绘图提供任何数据。需要先获取输入数据,再画图
例如,这可能有效(我试图尽可能多地保留您的代码...然而,线图在这里没有意义;认为这只是一个快速有效的示例:-)) :
library(highcharter)
library(tidyverse)
library(shiny)
ui <- fluidPage(
selectInput("First", label = "First Variable", width = "100%",
choices = colnames(iris)),
selectInput("Second", label = "Second", width = "100%",
choices = colnames(iris)),
highchartOutput("hchartcont")
)
server = function(input, output) {
output$hchartcont <- renderHighchart({
df <- iris %>% select(x = input$First, y = input$Second)
hchart(df, "line", hcaes(x, y))
})
}
shinyApp(ui = ui, server = server)
我正在尝试编写我的第一个闪亮的应用程序,它将在两个变量之间进行一些统计分析,并绘制一个显示它们之间关系的图。我的数据将被预先确定。对于图表,我决定使用 highcharter 但我该如何编写代码呢?上面的代码是我的第一次尝试,但我似乎无法弄清楚为什么它不起作用。我也尝试了 highcharter 指南中的 shiny 示例代码,但它似乎也不起作用。
library(shiny)
library(highcharter)
library(tidyverse)
data(iris)
ui <- fluidPage(
selectInput("First", label = "First Variable", width = "100%",
choices = colnames(iris)),
selectInput("Second", label = "Second", width = "100%",
colnames(iris)),
highchartOutput("hchartcont")
)
server = function(input, output) {
output$hchartcont <- renderHighchart({
hc <- highchart() %>%
hc_chart(type="line") %>%
hc_xAxis(input$First) %>%
hc_yAxis_multiples(input$Second)
hc
}
)
}
shinyApp(ui = ui, server = server)
虽然不熟悉 highcharter
,但您的代码似乎没有为绘图提供任何数据。需要先获取输入数据,再画图
例如,这可能有效(我试图尽可能多地保留您的代码...然而,线图在这里没有意义;认为这只是一个快速有效的示例:-)) :
library(highcharter)
library(tidyverse)
library(shiny)
ui <- fluidPage(
selectInput("First", label = "First Variable", width = "100%",
choices = colnames(iris)),
selectInput("Second", label = "Second", width = "100%",
choices = colnames(iris)),
highchartOutput("hchartcont")
)
server = function(input, output) {
output$hchartcont <- renderHighchart({
df <- iris %>% select(x = input$First, y = input$Second)
hchart(df, "line", hcaes(x, y))
})
}
shinyApp(ui = ui, server = server)