格式化堆叠 geom_bar ggplot 的内部线条
format internal lines of a stacked geom_bar ggplot
我想从我的 ggplot 中删除内部边框,只在每个条形图的外部留下一个彩色边框。这是一个测试数据框,带有堆积条形图。理想情况下,我会最终让堆栈中的组仍然是灰色阴影,每个框都有彩色轮廓。
test <- data.frame(iso=rep(letters[1:5],3),
num= sample(1:99, 15, replace=T),
fish=rep(c("pelagic", "reef", "benthic"), each=5),
colour=rep(rainbow(n=5),3))
ggplot(data=test, aes(x=iso, y=num, fill=fish, colour=colour)) +
geom_bar(stat="identity") +
theme_bw() +
scale_colour_identity() + scale_fill_grey(start = 0, end = .9)
您可以通过将 fill
和 colour
aes()
设置移动到两个单独的 geom_bar()
元素中来完成此操作:一个对每个 iso
值(大纲),另一个按 fish
:
拆分
ggplot(data=test, aes(x=iso, y=num)) +
geom_bar(stat="summary", fun.y="sum", aes(color=colour)) +
geom_bar(stat="identity", aes(fill=fish)) +
theme_bw() +
scale_colour_identity() +
scale_fill_grey(start = 0, end = .9)
我想从我的 ggplot 中删除内部边框,只在每个条形图的外部留下一个彩色边框。这是一个测试数据框,带有堆积条形图。理想情况下,我会最终让堆栈中的组仍然是灰色阴影,每个框都有彩色轮廓。
test <- data.frame(iso=rep(letters[1:5],3),
num= sample(1:99, 15, replace=T),
fish=rep(c("pelagic", "reef", "benthic"), each=5),
colour=rep(rainbow(n=5),3))
ggplot(data=test, aes(x=iso, y=num, fill=fish, colour=colour)) +
geom_bar(stat="identity") +
theme_bw() +
scale_colour_identity() + scale_fill_grey(start = 0, end = .9)
您可以通过将 fill
和 colour
aes()
设置移动到两个单独的 geom_bar()
元素中来完成此操作:一个对每个 iso
值(大纲),另一个按 fish
:
ggplot(data=test, aes(x=iso, y=num)) +
geom_bar(stat="summary", fun.y="sum", aes(color=colour)) +
geom_bar(stat="identity", aes(fill=fish)) +
theme_bw() +
scale_colour_identity() +
scale_fill_grey(start = 0, end = .9)