使用闪亮的反应数据更改条形图颜色

时间:2017-02-21 14:47:55

标签: r shiny

很抱歉,如果已经提出这个问题了!

我正在写一个闪亮的应用程序,它会查看学生在课后活动中的出勤率。数据按日期,活动类型,学生以及学生是否参加会议进行组织(二进制1表示是,0表示否)。还有一个“Rate”列,其出席次数为100次(我用于条形图,见下文)。以下是数据样本:

Date           Activity          Name                Attended   Rate
01/02/2017     Tutoring          John Doe            1          100
01/02/2017     Music             Jane Smith          0          0
02/02/2017     Drama             John Doe            0          0

目前我正在条形图上绘制数据。我正在绘制学生的平均出勤率,使用按日期和活动列过滤的反应数据集(mydata())。以下是条形图的代码:

output$attendancerate <- renderPlot({
ggplot(mydata(), aes(Name, Rate)) +
stat_summary(geom = "bar", fun.y="mean") +
coord_flip() +
ylab("Attendance Rate (%)") +
stat_summary(aes(label=round(..y..,1)), fun.y=mean, geom="text",hjust=-.2)

我特别感兴趣的是关注出勤率为75%或更低的学生。我希望那些75%或更少的学生填充红色,75%或以上的学生填充绿色。

我似乎无法以对数据变化作出反应的方式解决这个问题!

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这个问题有几种解决方案。

其中一人在R中使用barplot()

请试试这个:

output$attendancerate  <- renderPlot({
dataRead_bar<-mydata()[,c('Name',"Rate")]
cols <- c("red", "green")[(dataRead_bar$Rate > 0.75) + 1]  
barplot(dataRead_bar[,c(2)], names = dataRead_bar$Name,
        xlab = "Name", col=cols)

})

如果您有任何疑问,请与我们联系!我不知道您的被动数据集,所以我没有验证我的代码是否正常工作,但它应该为您提供解决此问题的线索。