我有一组数据:
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
我想创建一个堆积直方图:
library(ggplot2)
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
现在我想为每个条形图包含一个黑色边框,以便在视觉上更清晰。我虽然这会奏效:
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")+geom_histogram(colour = "black")
但是,这不是我想要的 问题1:每个栏中没有黑色边框 问题2:图例中的每个组都有一条额外的对角线。我想删除这一行。
我想知道是否有人可以让我知道我做错了什么,以及在直方图中为每个条形包含黑色边框的正确方法是什么。
非常感谢。
答案 0 :(得分:4)
升级评论。
要获得边框,只需在第一个图中将colour="black"
添加到geom_bar
来电。对图例中黑线的快速修复是绘制两个geom_bar
调用,抑制带边框的调用中的图例。然后,您可以使用legend.key
主题
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity") +
geom_bar(stat = "identity", colour="black", show_guide=FALSE) +
theme(legend.key = element_rect(colour = "black", size=1.5))