将图例标题放在已经位于条形图 ggplot 顶部的水平图例上方
Placing a Legend Title Above a Horizontal Legend Already Positioned at the Top of a Barplot ggplot
问题:
我做了很多研究并尝试了很多不同的解决方案,但我找不到问题的答案,至少没有一个对我有用。我试图将图例标题 'Species' 放置在条形图顶部水平放置的图例上方(见下文)并使其居中。
例如:
总的来说,我相信并且我正在使用正确的 ggplot() 命令,并且我已经尝试按照其他 Whosebug 问题中的示例进行操作。无论我使用什么代码,都没有任何反应,标题继续保留在水平图例的左侧。
有人能帮忙吗?
非常感谢。
R-Code
#Open Graphics Window
dev.new()
#Barplot
Whistle_Plot<-ggplot(Whistle_Subtype, aes(x = Whistle_Type_Sub, y = N, fill = Species)) +
geom_bar(stat="identity", position=position_dodge(), width = 0.6) +
scale_fill_grey(start = 0.25, end = 0.75) +
theme(axis.text.x = element_text(angle = 75, hjust = 1), text = element_text(size=9)) +
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank()) +
theme(axis.line.x = element_line(color="black", size = 0.8),
axis.line.y = element_line(color="black", size = 0.8)) +
labs(size = 0.8, x = "Whistle Subtypes", y = "Counts of Whistle Subtypes") +
theme(legend.position = 'top',
legend.direction = "horizontal") +
guides(color = guide_legend(title.position = "top",
# hjust = 0.5 centres the title horizontally
title.hjust = 0.5,
label.position = "bottom"))
#Set the limits of the y-axis scale
Whistle_Plot + scale_y_continuous(breaks=seq(0, 80, by=10))
条形图
如果你切换到 guides(fill = ...)
你应该可以做到。
尝试:
guides(fill = guide_legend(title.position = "top", title.hjust=0.5)
(感谢@teunbrand,进行小幅更正)
问题:
我做了很多研究并尝试了很多不同的解决方案,但我找不到问题的答案,至少没有一个对我有用。我试图将图例标题 'Species' 放置在条形图顶部水平放置的图例上方(见下文)并使其居中。
例如:
总的来说,我相信并且我正在使用正确的 ggplot() 命令,并且我已经尝试按照其他 Whosebug 问题中的示例进行操作。无论我使用什么代码,都没有任何反应,标题继续保留在水平图例的左侧。
有人能帮忙吗?
非常感谢。
R-Code
#Open Graphics Window
dev.new()
#Barplot
Whistle_Plot<-ggplot(Whistle_Subtype, aes(x = Whistle_Type_Sub, y = N, fill = Species)) +
geom_bar(stat="identity", position=position_dodge(), width = 0.6) +
scale_fill_grey(start = 0.25, end = 0.75) +
theme(axis.text.x = element_text(angle = 75, hjust = 1), text = element_text(size=9)) +
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank()) +
theme(axis.line.x = element_line(color="black", size = 0.8),
axis.line.y = element_line(color="black", size = 0.8)) +
labs(size = 0.8, x = "Whistle Subtypes", y = "Counts of Whistle Subtypes") +
theme(legend.position = 'top',
legend.direction = "horizontal") +
guides(color = guide_legend(title.position = "top",
# hjust = 0.5 centres the title horizontally
title.hjust = 0.5,
label.position = "bottom"))
#Set the limits of the y-axis scale
Whistle_Plot + scale_y_continuous(breaks=seq(0, 80, by=10))
条形图
如果你切换到 guides(fill = ...)
你应该可以做到。
尝试:
guides(fill = guide_legend(title.position = "top", title.hjust=0.5)
(感谢@teunbrand,进行小幅更正)