以下是给出带有时间轴值0-300的堆积条形图的代码。但我希望它是1-24。
R代码:
library(ggplot2)
dataFrame <- data.frame(sr=c(1:72),
hours=c(1:24),
mode=factor(c(""),levels = c("SecureMessaging","WebLogs","IVR")),
status=factor(c("Inactive"),levels = c("Active","Inactive")))
dataFrame$mode[1:24] <- "SecureMessaging"
dataFrame$mode[25:48] <- "WebLogs"
dataFrame$mode[49:72] <- "IVR"
dataFrame$status[2] <- "Active"
dataFrame$status[7] <- "Active"
dataFrame$status[24] <- "Active"
dataFrame$status[2+24] <- "Active"
dataFrame$status[12+24] <- "Active"
dataFrame$status[15+24] <- "Active"
dataFrame$status[3+48] <- "Active"
dataFrame$status[5+48] <- "Active"
dataFrame <- na.omit(dataFrame)
plot <- ggplot(data=dataFrame, aes(x=mode, y=hours, fill=status)) + geom_bar(stat="identity")
plot <- plot+coord_flip()
plot <- plot+ggtitle("Data Analytics")
plot <- plot+xlab("Mode")
plot <- plot+ylab("Time Line")
print(plot)
答案 0 :(得分:1)
技术上不是直接的答案,因为我建议使用geom_tile
进行替代实施:
gg <- ggplot(data=dataFrame, aes(y=mode, x=factor(hours)))
gg <- gg + geom_tile(aes(fill=status))
gg <- gg + coord_equal()
gg <- gg + labs(x="Mode", y="Time Line", title="Data Analytics")
gg <- gg + theme_bw()
gg <- gg + theme(panel.grid=element_blank())
gg <- gg + theme(panel.border=element_blank())
gg <- gg + theme(legend.position="bottom")
gg
答案 1 :(得分:0)
如果您想在24(在0,300范围内)切割结果,请在打印(绘图)之前添加以下行。然而,结果还不完美,因为&#34;不活跃&#34;酒吧在24点之前停止。
plot <- plot+ylim(0,24)
但是,我不确定你是否想要这个。可能你不满意从0到300适用的缩放比例并希望得到它0-24。在这种情况下,请尝试以下方法。 &#34; 1&#34;应该取代&#34;小时&#34;在你的情节函数中,如下所示:
plot <- ggplot(data=dataFrame, aes(x=mode, 1, fill=status)) + geom_bar(stat="identity")
答案 2 :(得分:0)
带有正确x轴的条形图:
ggplot(dataFrame, aes(x=hours,y=status, fill=status))+ geom_bar(stat='identity')+ facet_grid(mode~.)