我已经使用从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