ggplot 将我所有的数据绘制成一行

ggplot is plotting all my data into a single line

我正在制作一个绘制 x 和 y 输入的仪表板。然而,当两个输入都通过时,ggplot 将我的数据绘制成一条单线。我也尝试过使用 plotly 但我完全没有得到任何结果。有人能帮忙做一个 ggplot 和 plotly 的例子吗?

这里是ggplot代码部分加上图片结果

renderPlot({
   p <- ggplot(Merged_data_frame_hcat, aes_string(x=input$x, y=input$y)) + geom_point()
 
   print(p)
  
})

和情节代码加图像

renderPlot({
  p <- plot_ly(data= Merged_data_frame_hcat,x= ~input$x, y= ~input$y,type = 'scatter', mode = 'lines' )
 
   print(p)
  
})

要调试您的代码,您可以使用 cat 在控制台中打印您正在使用的数据,例如:

renderPlot({
   cat('input$x=',input$x,'\n')
   p <- ggplot(Merged_data_frame_hcat, aes_string(x=input$x, y=input$y)) + geom_point()
   print(p)
  
})

如果您查看 RStudio 控制台,您会看到传递给 aes_string 的值。
根据您在评论中的回答,您很可能会在控制台中看到:

shinyApp(ui = ui, server = server)

Listening on http://127.0.0.1
input$x = 1

这是由于方式 selectInput works :

choices : List of values to select from. If elements of the list are named, then that name --- rather than the value --- is displayed to the user.

这意味着如果

choices = list('dates'=1)

您在 selectInput 中看到 dates,在 input$x 中看到 1
如@MrFlick 在第一条评论中指出,如需进一步帮助,您需要提供一个简单的 reproducible example :主要通过评论发现和解决问题效率不高。