我想通过使用小节来显示某些时期的不同值,在ggplot2中设计出一个不错的图。我得到了图形,但是我无法在图表的正面添加图例。我的数据帧DF
有3个变量Month,variable,value
。这些变量是melt()
函数在另一个数据中的结果(我在最后部分添加dput()
版本DF
)。所以,我的数据帧DF
看起来是这样的:如何在ggplot2条形图中添加图例
Month variable value
1 m2 Power 1258978.9
2 m3 Power 1608317.4
3 m4 Power 1293821.1
4 m5 Power 1819283.8
5 m6 Power 1436552.9
6 m7 Power 875170.3
7 m8 Power 1315856.2
8 m9 Power 710004.3
9 m10 Power 889398.1
10 m11 Power 1114883.1
11 m12 Power 1419242.1
12 m13 Power 1585857.2
13 m14 Power 1010455.6
14 m15 Power 1292333.4
要显示value
变量由month
演变我用这个代码:
library(ggplot2)
library(scales)
ggplot(DF, aes(x = Month, y = value))+geom_bar(position="identity",fill="#FF6C91",colour="black",size=1)+ scale_y_continuous(labels = comma,breaks=pretty_breaks(n=7),limits=c(0,max(DF$value,na.rm=T)))+
theme(axis.text.x=element_text(angle=90,colour="grey20",face="bold",size=12),axis.text.y=element_text(colour="grey20",face="bold",hjust=1,vjust=0.8,size=15),axis.title.x=element_text(colour="grey20",face="bold",size=16),axis.title.y=element_text(colour="grey20",face="bold",size=16))+xlab('Month')+ylab('')+ ggtitle("My graph")+theme(plot.title = element_text(lineheight=3, face="bold", color="black",size=24))+theme(legend.text=element_text(size=14),legend.title=element_text(size=14))
有了这个代码,我得到了下一个图形:
结果几乎是完美的,但我不知道如何在图的右侧添加具有相同颜色条的图例,以便在此图像中提供更多信息。我试图在geom_bar
里添加fill
参数,但是我无法得到我想要的结果。该dput()
版本的DF
是下一个:
DF=structure(list(Month = c("m2", "m3", "m4", "m5", "m6", "m7",
"m8", "m9", "m10", "m11", "m12", "m13", "m14", "m15"), variable = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "Power", class = "factor"),
value = c(1258978.86, 1608317.42, 1293821.14, 1819283.78,
1436552.93, 875170.34, 1315856.24, 710004.35, 889398.08,
1114883.11, 1419242.11, 1585857.22, 1010455.56, 1292333.35
)), .Names = c("Month", "variable", "value"), row.names = c(NA,
-14L), class = "data.frame")
你的帮助非常感谢。
你只有一种颜色吧为什么你需要一个传奇?真正的DF有更多的'变量'水平? – 2014-08-30 17:18:35
@ user1317221_G - 我将问题解释为意味着OP想要“使用”该空间来提供可能与数据本身不直接相关的辅助信息......但主要是以我的名义猜想。 – Chase 2014-08-30 17:30:31
重复http://stackoverflow.com/questions/13353396/add-legend-to-geom-bar-using-the-ggplot2-package – 2014-08-30 17:30:56