У вас уже есть два хороших варианта, так что вот еще один, использующий scale_fill_manual()
.Обратите внимание, что это также позволяет легко указывать цвета полос:
ggplot(carrots,aes(y=MeanLength,x=Farm,fill=Type)) +
geom_bar(position="dodge") +
opts(legend.position="top") +
scale_fill_manual(name = "", values = c("Orange" = "orange", "Purple" = "purple"))
Если вы используете актуальную (по состоянию на январь 2015 года) версию ggplot2 (версия 1.0), то следуетработа:
ggplot(carrots, aes(y = MeanLength, x = Farm, fill = Type)) +
geom_bar(stat = "identity", position = "dodge") +
theme(legend.position="top") +
scale_fill_manual(name = "", values = c("Orange" = "orange", "Purple" = "purple"))