【发布时间】:2018-11-21 11:37:33
【问题描述】:
下面是我的代码。我试图在堆叠的条形图顶部添加一行(来自不同 csv 文件的数据),但是它不起作用,错误显示“找不到对象变量”。没有添加 geom_line 堆叠的条形图可以工作,所以我认为它是造成问题的线。关于如何解决此问题的任何想法?
a <- read.csv("data.csv", header=TRUE, sep=",")
line1 <- read.csv("data1.csv", header=TRUE, sep=",")
line2 <- data.frame(line1)
library(reshape2)
c <- melt(a, id.var="day")
library(ggplot2)
a <- ggplot(c, aes(x=day, y=value, fill=variable)) +
geom_bar(stat="identity", aes(x=day, y=value), width=0.7) +
geom_line(data=line2, aes(x=day, y=value), color="black", stat="identity")
+
scale_fill_manual(values = c("black", "grey47", "grey")) +
scale_x_continuous(breaks = round(seq(min(m$day), max(m$day), by = 1),0))
print(a)
【问题讨论】:
-
1)
read.csv返回一个data.frame,你不需要line2 <- data.frame(line1)。 2)您可以发布示例数据吗?请使用dput(line1)的输出编辑问题。或者,如果dput(head(line1, 20))的输出太大。 -
这是我的 data.csv 示例数据(分组条形图)day,emigration,security,checkin 1,6,5,4 2,6,5,6 3,6,5,9 4 ,6,5,1 5,5,6,3 6,3,6,5 7,1,8,7 8,9,9,9 9,8,9,8 10,7,9,6 11, 6,8,4 12,4,8,2 13,3,5,1 14,1,7,3 15,2,7,4 16,4,6,5 17,5,5,6 18,6 ,5,7 19,8,4,8 20,7,3,8 21,5,2,2 22,4,2,1 23,1,2,2 24,2,2,3 25,4, 4,4 26,9,9,5 27,8,7,7 28,7,6,8 29,6,4,9 30,4,3,1 31,3,2,1
-
这是data1.csv(线图)日的样本数据,值1,12 2,11 3,10 4,8 5,7 6,6 7,6 8,6 9, 7 10,8 11,14 12,6 13,6 14,6 15,8 16,8 17,10 18,10 19,12 20,12 21,12 22,13 23,13 24,14 25,15 26 ,15 27,10 28,10 29,10 30,10 31,12
-
我的猜测是你在
line2中没有列名variable,如果你将fill = variable移动到geom_bar 中的aes可能会解决问题 -
@LydiaBlakley:请将数据添加到您的问题中以获得更好的格式