2017-05-24 72 views
-1

我愿意在下面用这些数据在R中做一些折线图。目前,我的代码出现错误。任何帮助将受到欢迎。带连续列的R图

data <- structure(list(names = c("AB", "BBB", "CCC"), day1 = c(2L, 4L, 
14L), day2 = c(2.2, 10, 25), day3 = c(1.2, 12, 12), day4 = c(1.7, 
4, 12), day5 = c(2L, 10L, 14L)), .Names = c("names", "day1", 
"day2", "day3", "day4", "day5"), row.names = c(NA, -3L), class = "data.frame") 

data 
#names day1 day2 day3 day4 day5 
#AB  2 2.2 1.2 1.7 2 
#BBB 4 10 12 4 10 
#CCC 14 25 12 12 14 


ggplot(data, aes(day1:day5, names, color = names)) + geom_line() 
+0

你能告诉我们'dput(数据)'的结果呢?因为我们在这里不知道它是什么:matrix,data.frame ...? – Pop

+0

data是一个data.frame。 – user8029791

+0

您不能使用'day1:day5'作为'aes'。你需要指定1个变量 –

回答

2

试试这个:

data <- structure(list(names = c("AB", "BBB", "CCC"), day1 = c(2L, 4L, 
14L), day2 = c(2.2, 10, 25), day3 = c(1.2, 12, 12), day4 = c(1.7, 
4, 12), day5 = c(2L, 10L, 14L)), .Names = c("names", "day1", 
"day2", "day3", "day4", "day5"), row.names = c(NA, -3L), class = "data.frame") 

dat_m <- melt(data, id.var = "names") 
ggplot(df_m, aes(variable, value, colour = names, group = names)) + geom_line() 

这导致了这个情节: line plot

+0

尽量避免回答其他问题重复的问题。另外,如果'colour'是离散的,则不需要额外的'group'规范。 – Axeman

+0

谢谢,我很感激。它可以很好地工作。 – user8029791

0
library("ggplot2") 
library("reshape2") 

data <- data.frame(
    "names"=c("AB","BBB","CCC"), 
    "day1"=c(2,4,14), 
    "day2"=c(2.2,10,25), 
    "day3"=c(1.2,12,12), 
    "day4"=c(1.7,4,12), 
    "day5"=c(2,10,14) 
) 

test_data_long <- melt(data, id="names") # convert to long format 
ggplot(data=test_data_long,aes(variable,value, colour=names)) + 
     geom_line(aes(group = names)) 

enter image description here

+0

尽量避免回答其他问题重复的问题。另外,如果'colour'是离散的,则不需要额外的'group'规范。 – Axeman

+0

谢谢,很感谢。它可以很好地工作。 @rgunning – user8029791