R - 如何在数据框的条形图上显示 X 轴值

R - How to display X axis values on barplot from data frame

我有一个如下所示的数据框,

str(data2)
'data.frame':   516 obs. of  2 variables:
 $ Jobs      : num  2 1 5 0 0 0 0 0 0 0 ...
 $ Time         : chr  "06:00" "06:01" "06:02" "06:04" ...

我正在尝试从这个数据框创建一个条形图。

如果我运行,

barplot(data2$Jobs,
    col="orange", 
    xlab="Time of Day", 
    ylab="Files With Jobs", 
    main="Jobs by Time of Day Received")

这很好,给了我 barPlot,但 X 轴是空白的。我需要在 X 轴上显示 Time 列。

我试过了,

barplot(data2$Time,data2$Jobs,
    col="orange", 
    xlab="Time of Day", 
    ylab="Files With Jobs", 
    main="Jobs by Time of Day Received")

但这给了我,

Error in -0.01 * height : non-numeric argument to binary operator

正确的做法是什么?

names.arg 参数用于 barplot:

barplot(data2$Jobs, 
        names.arg=data2$Time,
        col="orange", 
        xlab="Time of Day", 
        ylab="Files With Jobs", 
        main="Jobs by Time of Day")

您也可以使用 ggplot:

data<- data.frame(jobs=c(2, 1, 5, 0), Time=c("06:00", "06:01", "06:02", "06:04"))
data$Time <-  strptime(data$Time, format="%H:%M")

ggplot(data=data,aes(x=Time,y=jobs)) + 
  geom_bar( stat="identity", colour = "brown1", size = 1.5)+
  theme(axis.text.x = element_text(angle = 90,hjust=1,vjust=0.3))+
  xlab("Time of Day") +
  ylab("Files With Jobs")