微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何摆弄两轴条形图中的轴标签

如何解决如何摆弄两轴条形图中的轴标签

要做的就是获取以下条形图的底部x轴以匹配图例中的文本。通过在代码的“ scale_x_discrete”部分添加“ labels”参数,可以更改顶部的x轴文本。这就是我所拥有的,向@Allan Cameron大喊大叫以帮助我,请尝试忽略颜色,因为这是我要添加代码的下一部分:

silly

我的数据:

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")

输出:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?