我是ggplot2的新手,我已经基于csv文件创建了一个绘图。
我遇到的问题是情节是空白的:
没什么可期待的标题,我不确定为什么!
您可以看到RStudio中的数据很好:
我的csv文件与我的app.R文件位于同一目录中
我的工作目录是同一文件夹:
那么ggplot2为什么无法获取csv文件中保存的数据?
这是我的代码:
library(shiny)
library(ggplot2)
ui <- (fluidPage(
titlePanel("Pig Breeding")
)
)
mainPanel(
plotOutput(outputId = "scatterplot")
)
server <- (function(input, output){
output$scatterplot <- renderPlot({
pig_plot <- ggplot(read.csv("pigs_data.csv"),
aes_string(x = "species", y = "sow_count") +
geom_point())
})
})
shinyApp(ui, server)
答案 0 :(得分:1)
以下代码可用于名为iris
的测试数据。您的错误在于您
ui <- (fluidPage(
titlePanel("Pig Breeding")
)
)
mainPanel(
plotOutput(outputId = "scatterplot")
)
ui 代码。您已将mainPanel
排除在fluidpage
括号之外。因此,它不会读取plotOutput
。
示例
library(shiny)
# Define UI for application
ui <- fluidPage(
# Application title
titlePanel("Iris data"),
# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
# Define server logic
server <- function(input, output) {
output$distPlot <- renderPlot({
ggplot(iris, aes(x=Sepal.Width, y=Petal.Width)) + geom_point()
})
}
# Run the application
shinyApp(ui = ui, server = server)
下面的代码应该可以解决您的问题。
library(shiny)
# Define UI for application
ui <- fluidPage(
# Application title
titlePanel("Pig Breeding"),
# Show a plot of the generated distribution
mainPanel(
plotOutput("scatterplot")
)
)
# Define server logic
server <- function(input, output) {
output$scatterplot <- renderPlot({
ggplot(read.csv("pigs_data.csv"),
aes(x = "species", y = "sow_count")) + geom_point()
})
}
# Run the application
shinyApp(ui = ui, server = server)