gpt4 book ai didi

r - 如何在ggplot的条形图中更改x轴文本的位置?

转载 作者:行者123 更新时间:2023-12-04 02:18:16 26 4
gpt4 key购买 nike

我想更改此条形图中“丰富度”一词的位置。我希望单词与其他标签的第一个单词的位置对齐,即放在顶行而不是底行。

p0 <-
ggplot(lineshift, aes(x=name, y=value, fill=factor(product))) +
geom_bar(stat="identity", position="dodge", width=0.8) +

geom_text(aes(x=name, y=value, ymax=value, label=round(value),
hjust=0.5, vjust=-0.5),
position = position_dodge(width=0.8)) +

scale_fill_manual(values=c("blue", "red"),
name="Treatment",
breaks=c(1, 2),
labels=c("A", "B")) +

xlab("Biodiversity") +
ylab("Relative occurences (%)") +

scale_y_continuous(expand=c(0.0,0.5),
limits=c(0, 71),
breaks=c(0,10,20,30,40,50,60,70),
labels=c("0","10","20","30","40","50","60","70")) +
scale_x_discrete(limits=c("Biodiversity of tropical lowland rainforest", "Species composition in understorey", "Richness"),
labels = sapply(strwrap(as.character(lineshift$name), width=30, simplify=F), paste, collapse="\n")) +

theme_bw() +
theme(legend.position=c(0.9,0.9)) +
theme(legend.title=element_blank()) +
theme(axis.title.x = element_text(vjust=0.1,face="bold", size=16),
axis.text.x = element_text(vjust=0.1, size=14, angle=0))+
theme(axis.title.y = element_text(angle=90, vjust=0.70, face="bold", size=18),
axis.text.y = element_text(size=14)) +
theme(panel.grid.minor=element_blank(), panel.grid.major=element_blank()) +
theme(panel.border = element_rect(size=2, colour = "black", fill=NA, linetype=1)) +
theme(plot.margin = unit(c(0.3,0.4,0.28,0.0),"lines"))

enter image description here

这是数据:
structure(list(product = c(1L, 1L, 1L, 2L, 2L, 2L), name = structure(c(1L, 
3L, 2L, 1L, 3L, 2L), .Label = c("Biodiversity of tropical lowland rainforest",
"Richness", "Species composition in understorey"), class = "factor"),
value = c(62.96, 22.22, 14.81, 60, 40, 0), treatment = structure(c(1L,
1L, 1L, 2L, 2L, 2L), .Label = c("A", "B"), class = "factor")), .Names = c("product",
"name", "value", "treatment"), class = "data.frame", row.names = c(NA,
-6L))

非常感谢您的任何建议。

最佳答案

您可以在 x 轴文本的主题中更改 vjust:

p0 + theme(axis.text.x=element_text(vjust=1,size=14))

enter image description here

关于r - 如何在ggplot的条形图中更改x轴文本的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32751786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com