ggplot直方图在闪亮的app内失败

时间:2018-05-15 20:51:41

标签: r ggplot2 shiny histogram

我试图在闪亮的应用程序中绘制一个简单的直方图。在应用程序之外(在R脚本中),图形被绘制而没有任何问题,(see here)但是相同的代码在应用程序内部生成奇怪的图形(see the wrong graph here

你可以帮我找出错误吗?链接到数据集:https://drive.google.com/open?id=1ITK0lTWm_mkb9KonHLq4nuKDv-PBUDeR

library(ggplot2)
library(ggthemes)
library(scales)
library(shiny)

# read data
cso_corruption <- read.csv("cso_corruption.csv", header = T, sep = ",")

ui <- fluidPage(
   sidebarLayout(
     sidebarPanel(
       radioButtons(inputId = "x",label ="Measurement Type",choices = 
                      c("freq_business", "freq_cso"), selected = NULL)
                  ),

     mainPanel(
       plotOutput(outputId = "hist")
      )
   )
)

server <- function(input, output) {

  output$hist <- renderPlot(ggplot(data = na.omit(cso_corruption), aes(x=input$x)) +
                                 geom_histogram(fill="lightgreen", stat="count"))
}

shinyApp(ui = ui, server = server)

2 个答案:

答案 0 :(得分:0)

可能的原因是数据没有进入服务器。

我会将csv放入目录中的另一个文件中,因此您可以使用

访问它
read.csv("./Data/projectdata.csv")

因此,发布时不会丢失。还要确保在发布时检查数据。最后要注意在服务器中包含read.csv函数。

答案 1 :(得分:0)

经过多次试错,我找到了解决方案。诀窍是,在服务器中,我使用aes_string而不是aes。我还没弄清楚为什么aes_string在这里工作,因为它应该要求变量用引号传递。但它有一些原因。