无法在ggplot中自定义图例

时间:2015-04-28 03:07:16

标签: r ggplot2 legend

我正在使用ggplot(我的代码如下)绘制年度需求,但我无法为该情节添加颜色图例。我的data.frame有“Zone”和“TotalDemand”(只有2列),我有三个data.frames三年(“sales12”,“sales13”和“sales14”)。

ggplot() + 
geom_point(data=sales12, aes(x=factor(Zone), y=TotalDemand/1000), 
           color='green',size=6, shape=17) +
geom_point(data=sales13, aes(x=factor(Zone), y=TotalDemand/1000), 
           color='red',size=6, shape=18)+
geom_point(data=sales14, aes(x=factor(Zone), y=TotalDemand/1000), 
           color='black',size=4, shape=19) + 
labs(y='Demand (in 1000s)',x='Zones') +
scale_colour_manual(name = 'the colour', 
                    values = c('green'='green', 'black'='black', 'red'='red'), 
                    labels = c('12','13','14'))

请帮我辨别我的错误。

1 个答案:

答案 0 :(得分:1)

使用非常小的示例数据框df,我将其融合以格式化为ggplot

dput(df)
structure(list(Zone = structure(1:4, .Label = c("Alpha", "Baker", 
"Charlie", "Delta"), class = "factor"), TotalDemand = c(90L, 
180L, 57L, 159L), sales12 = c(25L, 40L, 13L, 50L), sales13 = c(30L, 
60L, 16L, 55L), sales14 = c(35L, 80L, 28L, 54L)), .Names = c("Zone", 
"TotalDemand", "sales12", "sales13", "sales14"), class = "data.frame", row.names = c(NA, 
-4L))

df.m <- melt(df, id.vars = "Zone", measure.vars = c("sales12", "sales13", "sales14"))

ggplot(df.m, aes(x=factor(Zone), y=value, color = variable )) + 
  geom_point(size=6, shape=17) +
  labs(y='Demand (in 1000s)',x='Zones') +
  scale_colour_manual(values = c('green', 'black', 'red'))

您可以调整点的大小,形状和颜色,添加标题等。例如,您的图例也可以放在底部。

enter image description here