2017-09-22 53 views
1

我想要显示平均租用的工作日按小时使用ggplot的平均数量,如下面的R所示。由于我的工作日是我的数据中的数字,它将文本图例作为数字给出。ggplot中缺少的传说

ggplot(bike_share_train, aes(x=hour, y=count, color=day))+ 
    geom_point(data = day_summary_by_hour, aes(group = day))+ 
    geom_line(data = day_summary_by_hour, aes(group = day))+ 
    ggtitle("Bikes Rent By Weekday")+scale_colour_hue('Weekday') 

enter image description here

我想改变这些数字平日的名字和我尝试使用下面的命令,但传说中ggplot失踪。请让我知道如何解决这个问题。

ggplot(bike_share_train, aes(x=hour, y=count, color=day))+geom_point(data = day_summary_by_hour, aes(group = day)) + 
    geom_line(data = day_summary_by_hour, aes(group = day))+ 
    ggtitle("Bikes Rent By Weekday")+ 
    scale_colour_hue('Weekday', breaks = levels(bike_share_train$day), labels=c('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')) 

enter image description here

+0

为我工作。 '库(GGPLOT2); dsamp < - diamonds [sample(nrow(diamonds),1000),]; ggplot(dsamp,aes(carat,price))+ geom_point(aes(color = clarity))+ scale_colour_hue(“clarity”,breaks = levels(dsamp $ clarity),labels = paste(“lab_”,levels (dsamp $清晰度)))' –

回答

1

诚挚的歉意对大家为我的错误。我从日期时间值中提取了工作日,小时,但忘记将char的数据类型更改为这些字段的因子。所以,在ggplot中问题。我改变了数据类型并检查了ggplot。现在传说正在显示。

1

尽管OP找到了解决方案,但我建议在每个组只包含一个观察值时采用另一种方法。

library(ggplot2) 
# create some sample data 
bike_share_data<-data.frame(hour = c(1.5,2.3,1.3,2.2,1.5), 
         count = c(21,26,30,15,20), 
         day = c("1","2","3","4","5")) 
head(bike_share_data) 
ggplot(bike_share_data, aes(x=hour, y=count, color=day))+ 
    geom_point(data = bike_share_data, aes(group = 1))+ 
    geom_line(data = bike_share_data, aes(group = 1))+ 
    ggtitle("Bikes Rent By Weekday")+ 
    scale_colour_hue('Weekday', 
        breaks = levels(bike_share_data$day), 
        labels=c('Monday','Tuesday','Wednesday','Thursday','Friday') 
) 

Bike Rent by weekday