Есть ли способ добавить линии на график, используя renderPlot в Shiny - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь добавить горизонтальную линию к графику в функции renderPlot Shiny.Когда я добавляю команду abline для горизонтальной линии, график не отображается, и я вижу только горизонтальную линию.

Если я удаляю команду abline, график работает должным образом.Я попытался добавить параметр 'new = FALSE' в команду abline, с тем же результатом.Я вижу другие примеры в SO, где он работает, но я не могу заставить его работать должным образом.

library(shiny)
library(quantmod)
library(TTR)

# UI
ui <- pageWithSidebar(

  # App title ----
  headerPanel("Test Plot with Lines"),

  # Sidebar panel for inputs ----
  sidebarPanel(
    textInput (inputId = "ticker",label = "Ticker Symbol",value="SPY")),

  # Main panel for displaying outputs ----
  mainPanel(
    plotOutput(outputId = "mainPlot")
  )
)

# Server logic
server <- function(input, output) {

  OHLCData <- reactive ({
    tickerData <- get(getSymbols(input$ticker))
    return (tickerData)
  })

  output$mainPlot <- renderPlot ({
    tickerData <- OHLCData()
    meanOpeningPrice <- mean(tickerData[,1])
    plot (tickerData[,1],main=paste(input$inputId,' Opening Price'))
    abline (h=meanOpeningPrice,col='red',new=FALSE)
  })
}

shinyApp(ui, server)

Я ожидаю получить график дневной цены открытия с красной горизонтальной линией по средней цене,Вместо этого я получаю только красную горизонтальную линию без осей и графика цены.

1 Ответ

1 голос
/ 20 сентября 2019

Как насчет использования lines вместо abline:

tickerData$horizontal_line <- meanOpeningPrice
lines(tickerData[, "horizontal_line"], col = "red")

Кажется, что проблема при использовании abline с plot.xts:

Как построитьпростая вертикальная линия с аблайном () в R?

https://github.com/joshuaulrich/xts/issues/47

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...