我已經使用從csv文件讀取的數據創建了barplot。Barplot在Shiny中顯示1 bar太少和奇怪的細線
最初創建一個過濾器函數來過濾來自RGui的數據並將其應用於barplot()中。 它能夠過濾出數據列表並顯示5個預期的小節。
添加相同的barplot(多個代碼更改),barplot將始終顯示1個較少的條,並且還會在非常細的條中顯示其餘數據。
(見下圖)
Server.R
slt <- read.csv("data/slt_inc.csv")
#extract only the number column
slt_vec <- c(slt$num_of_inc)
#extract only the date column
slt_date <- c(slt$date)
output$incidentPlot <- renderPlot({barplot(slt_vec, names.arg=slt$date, main="SLT Incidents", xlab="Date", ylab="# of Incidents", col="green", as.Date(slt_date, origin="2016-10-24") >= input$dateRange[1] & as.Date(slt_date, origin="2016-10-24") <= input$dateRange[2])})
ui.R
dateRangeInput("dateRange", "Date Selection: ", start="2016-10-24", end=NULL, format="yyyy-mm-dd", min="2016-10-24", language = "en", width="100%"),
fluidRow(column(6, verbatimTextOutput("date"))),
任何想法如何解決這個問題,?
另一個可能相關的問題。
使用另一時間範圍12月28日至12月30日
CSV文件數據
- 2016年12月28日,星期三,2
- 2016年12月29日,星期四,1
- 2016-12-30,週五,1
它應該顯示至少2條或期望3,但一旦我篩選12月28日至12月30日什麼都沒有顯示。
嘗試刪除'origin'語句。他們不代表你的想法。也可以嘗試過濾數據框中的日期,然後提取後面繪製的列。這很容易。另外你的'c(..)'是多餘的,'c(..)'構造不是這樣使用的。 –
儘管這是一個有趣的故事,但是我太困了,無法追查下來,弄清楚爲什麼會發生這種情況。 –
最初我在as.Date()中沒有「origin」參數。 錯誤消息中提到了「必須提供原點」一行。一旦我添加了「原點」,它就開始工作。 我會過濾數據框中的日期。 至於C(...)我會認爲這將是更好的做法,而不是使用列名稱?所以在這種情況下,它就像slt $ num_of_inc。我對麼? 再次感謝。 – blitz