如何解决如何摆弄两轴条形图中的轴标签
我要做的就是获取以下条形图的底部x轴以匹配图例中的文本。通过在代码的“ scale_x_discrete”部分添加“ labels”参数,可以更改顶部的x轴文本。这就是我所拥有的,向@Allan Cameron大喊大叫以帮助我,请尝试忽略颜色,因为这是我要添加的代码的下一部分:
我的数据:
cat req app rej
BB 199149 50
CF 20 12 8
CR 34 33 1
GM 50 33 17
LC 20 14 6
RC 61 50 11
W1 74 48 26
W2 56 42 14
抱歉,我不知道如何附加.csv。
这是我的代码:
library(ggplot2)
library(tidyr)
library(dplyr)
pivot_longer(data,cols = c("req","app","rej")) %>%
mutate(name = factor(name,levels = c("req","rej"))) %>%
ggplot(aes(name,value,fill = cat)) +
labs(x="Study Category",y="Number of Studies") +
geom_col() +
facet_grid(~cat,switch = "x") +
scale_x_discrete(expand = c(0.5,0.5),labels=c("Requested","Approved","Rejected")) +
theme_classic() +
theme(panel.spacing = unit(0,"points"),strip.placement = "outside",strip.background = element_blank()) +
theme(axis.text.x= element_text(size=6),legend.Box.background = element_rect(colour = "black"),legend.background = element_rect(linetype = "solid",colour = "black")) +
theme(legend.title.align=0.5) +
labs(fill = "Study Category") +
scale_fill_discrete(labels = c("Biota and Biodiversity","Connectivity and Fragmentation","Cultural Resources","Geomorphology","Landscape and Land Cover","Recreation","Water Quality","Water Quantity"))
我已经尝试过:Add secondary X axis labels to ggplot with one X axis
但是breaks参数对我不起作用。我尝试在各处添加标签,但是我在顶部提到的第一个label参数会覆盖所有内容。
解决方法
我建议通过在mutate()
内格式化变量来建议下一种方法。这样,您可以直接使用变量的内容来优化fill
选项。这是我从@AllanCameron中学到的一个技巧:
library(ggplot2)
library(tidyr)
library(dplyr)
pivot_longer(data,cols = c("req","app","rej")) %>%
mutate(name = factor(name,levels = c("req","rej")),cat = factor(cat,levels = c("BB","CF","CR","GM","LC","RC","W1","W2"),labels = c("Biota and Biodiversity","Connectivity and Fragmentation","Cultural Resources","Geomorphology","Landscape and Land Cover","Recreation","Water Quality","Water Quantity"))) %>%
ggplot(aes(name,value,fill = cat)) +
labs(x="Study Category",y="Number of Studies") +
geom_col() +
facet_grid(~cat,switch = "x") +
scale_x_discrete(expand = c(0.5,0.5),labels=c("Requested","Approved","Rejected")) +
theme_classic() +
theme(panel.spacing = unit(0,"points"),strip.placement = "outside",strip.background = element_blank()) +
theme(axis.text.x= element_text(size=6),legend.box.background = element_rect(colour = "black"),legend.background = element_rect(linetype = "solid",colour = "black")) +
theme(legend.title.align=0.5) +
labs(fill = "Study Category")
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。