Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GGR曲线图的结果_R_Plot_Ggplot2_Shiny_Visualization - Fatal编程技术网

GGR曲线图的结果

GGR曲线图的结果,r,plot,ggplot2,shiny,visualization,R,Plot,Ggplot2,Shiny,Visualization,为什么ggplot的输出绘图没有显示在输出中?以下代码有什么问题?它不会产生任何错误,但它会在ui中显示ggplot图。在r中,数据流非常困难,因为我是初学者 用户界面 服务器.R library(DT) library(shiny) library(alphavantager) library(ggplot2) data <- function(stock_name="",days_history){ av_api_key("YOUR_API_KEY") sri <- d

为什么ggplot的输出绘图没有显示在输出中?以下代码有什么问题?它不会产生任何错误,但它会在ui中显示ggplot图。在r中,数据流非常困难,因为我是初学者

用户界面

服务器.R

library(DT)
library(shiny)
library(alphavantager)
library(ggplot2)
data <- function(stock_name="",days_history){
  av_api_key("YOUR_API_KEY")
  sri <- data.frame(av_get(symbol = stock_name, av_fun = "TIME_SERIES_DAILY", interval = "15min", outputsize = "compact"))
  sri
}
visualization <- function(sri){
  high_vis <- ggplot(aes(x = timestamp, y = high),data = sri) +     geom_freqpoly(stat = "identity") + 
labs(title = "High price vs Time",x = "Timeline in months",y = "Share price - High") + 
theme_classic(base_size = 20)
  high_vis
}
shinyServer(function(input, output) {
  output$data_table <-     renderDataTable({data(input$stock_name,input$stock_history)})
  output$plot_high <- renderPlot({visualization(data_table)})
})
库(DT)
图书馆(闪亮)
图书馆(alphavantager)
图书馆(GG2)
数据这应该有效

替换

  • 通过ui.R中的
    plotOutput(“plot\u high”)
    绘制渲染图(“plot\u high”)
  • 可视化(数据表)
    by
    可视化(数据(stock\u name=input$stock\u name,input$stock\u history))
    在server.R中
  • 您可能还希望删除
    DT::dataTableOutput(“数据表”)
    中的
    DT::
    。出于某种原因,
    DT
    包中的
    dataTableOutput
    函数对我不起作用(因此我使用了相同的函数,但直接来自
    DT

    编辑

    您可以将
    shinyServer
    改写为:

    shinyServer(function(input, output) {
      data_table <- reactive({data(stock_name=input$stock_name, input$stock_history)})
      output$data_table <- renderDataTable({data_table()})
      output$plot_high <- renderPlot({visualization(data_table())})
    })
    
    shinyServer(功能(输入、输出){
    
    数据表您是否尝试过打印对象,例如,
    print(high\u vis)
    ?是的,我尝试过打印它了!!谢谢:),days\u history变量是为将来使用而设计的!但是为什么我们不能使用
    data\u table
    而不是
    数据(stock\u name=input$stock\u name,input$stock\u history)
    …问题的原因是什么?我不明白,因为
    数据表
    是一个输出。我用
    shinyServer
    的建议编辑了答案,您可能会发现更清楚。现在我可以理解了
    shinyServer(function(input, output) {
      data_table <- reactive({data(stock_name=input$stock_name, input$stock_history)})
      output$data_table <- renderDataTable({data_table()})
      output$plot_high <- renderPlot({visualization(data_table())})
    })