Adding facet titles and changing legend title in g

2020-03-18 03:23发布

I wonder how to add facet titles in ggplot2

ggplot(diamonds, aes(cut)) + geom_bar() +   facet_grid(color ~ clarity)

and change the legend title

ggplot(diamonds, aes(cut, fill=cut)) + geom_bar() +   facet_grid(. ~ clarity)

Thanks for your help.

标签: r ggplot2
1条回答
爷、活的狠高调
2楼-- · 2020-03-18 04:14

The facets are labeled using the levels of the factor used. So if you simply change the levels , such as

levels(diamonds$clarity) <- letters[1:8]

those facets will now be labeled using those letters. The legend title matches the label for that aesthetic mapping, which you can set via:

+ labs(fill = "Fill legend label")

As an extra tidbit, I've noticed that I can set the x and y axis labels to NULL in labs but not the legend titles; for those you use an empty character if you want no title.

Edit

Given your clarifications, you can add text outside the plotting area using grid.text:

print(qplot(1,1),vp = viewport(width = 0.9))
grid.text(unit(0.95,"npc"),0.5,label = "Right label", rot = 270)

enter image description here

查看更多
登录 后发表回答