гистограмма ggplot не работает внутри блестящего приложения - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь построить простую гистограмму внутри блестящего приложения.За пределами приложения (в R-скрипте) график отображается без каких-либо проблем ( см. Здесь ), но тот же код создает странно выглядящий график внутри приложения ( см. Неправильный график здесь )

Не могли бы вы помочь мне понять, что не так?Ссылка на набор данных: 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 голосов
/ 16 мая 2018

После многих проб и ошибок я нашел решение.Хитрость в том, что на сервере я использовал aes_string вместо aes.Я не понял, почему здесь работает aes_string, поскольку предполагается, что переменные должны быть переданы в кавычках.Но это работает по какой-то причине.

0 голосов
/ 15 мая 2018

Возможная причина - данные не попадают на сервер.

Я бы поместил CSV в другой файл в каталоге, чтобы вы могли получить к нему доступ, используя

read.csv("./Data/projectdata.csv")

Поэтому он не теряется при публикации. Также убедитесь, что данные проверяются при публикации. Последнее замечание о включении функции read.csv на сервере.

...