R 如何在图形线上绘制不同颜色并插入图例(颜色和列标题)

R 如何在图形线上绘制不同颜色并插入图例(颜色和列标题),r,ggplot2,graph,colors,scale-color-manual,R,Ggplot2,Graph,Colors,Scale Color Manual,我试着给每一行指定颜色。但是,我想不出如何显示图例结果 groupcolours <- c(NE="#999999",NS="#E69F00",NW="#56B4E9",NN="#009E73") 如评论中所述,请不要将数据添加为图像。而是使用dput,这样每个人都可以处理数据 查看您的数据图像,数据的格式似乎很宽。 要绘制附着的图形,您可以将数据转换为长格式(使用包restrape2或dplyr中的聚集函数),然后将方向变量添加为组和颜色变量 例如(使用模拟数据): library(重

我试着给每一行指定颜色。但是,我想不出如何显示图例结果

groupcolours <- c(NE="#999999",NS="#E69F00",NW="#56B4E9",NN="#009E73")

如评论中所述,请不要将数据添加为图像。而是使用
dput
,这样每个人都可以处理数据

查看您的数据图像,数据的格式似乎很宽。 要绘制附着的图形,您可以将数据转换为长格式(使用包
restrape2
dplyr
中的聚集函数),然后将方向变量添加为组和颜色变量

例如(使用模拟数据):

library(重塑2)
图书馆(tidyverse)

时间戳在帖子上面有两个图像。请不要将数据作为图像发布。例如,使用
dput
。问题在于,正如错误告诉您的那样,您的美学具有不同的长度(aes中的内容)。您尝试分配
color
向量
groupcolors
,该向量短于例如
时间间隔
.THX。融化让我这么做。
s <- ggplot(time_interval_RSE2) + 
  ggtitle(paste(main_rse_temp,"_",naljja,"_교통량", sep="")) + 
  labs(x="시간(15분 단위)", y="교통량(대수/15분)") +
  theme(axis.text.x=element_text(size=12,angle=90,hjust=1,vjust=0.5),axis.text.y = element_text(size=19),plot.title = element_text(size=25),axis.title.y=element_text(colour="black",size=30),axis.title.x = element_text(colour="black",size=30)) + 
  scale_y_continuous(limits=c(0, 100)) + 
  geom_line(aes(x=time_interval,y=as.numeric(NE),group=1,colour=groupcolours)) +
  geom_line(aes(x=time_interval,y=as.numeric(NS),group=2,colour=groupcolours)) +
  geom_line(aes(x=time_interval,y=as.numeric(NW),group=3,colour=groupcolours)) +
  geom_line(aes(x=time_interval,y=as.numeric(NN),group=4,colour=groupcolours)) + 
  scale_color_manual(name="Direction", values =groupcolours)
["time_interval_RSE2" file download][3]
library(reshape2)
library(tidyverse)

Timestamp <- c("30-07-2019 23:00:00", "31-07-2019 00:00:00", "31-07-2019 01:00:00", 
"31-07-2019 02:00:00", "31-07-2019 03:00:00", "31-07-2019 04:00:00", 
"31-07-2019 05:00:00", "31-07-2019 06:00:00", "31-07-2019 07:00:00", 
"31-07-2019 02:00:00", "31-07-2019 09:00:00", "31-07-2019 10:00:00", 
"31-07-2019 11:00:00", "31-07-2019 12:00:00", "31-07-2019 13:00:00", 
"31-07-2019 14:00:00", "31-07-2019 15:00:00", "31-07-2019 16:00:00", 
"31-07-2019 17:00:00", "31-07-2019 18:00:00", "31-07-2019 19:00:00", 
"31-07-2019 20:00:00", "31-07-2019 21:00:00", "31-07-2019 22:00:00", 
"31-07-2019 23:00:00", "01-08-2019 00:00:00", "01-08-2019 01:00:00"
)

dat <- data.frame(Timestamp, 
                  NE = sample(1:10, length(Timestamp), replace=TRUE), 
                  NS = sample(1:16, length(Timestamp), replace=TRUE), 
                  NW = sample(1:3, length(Timestamp), replace=TRUE))

melt(dat, id="Timestamp") %>% 
     ggplot(aes(Timestamp, value, group=variable, color=variable)) + 
     geom_line()