r - 由于重新排序,缩放 x 轴不起作用?
问题描述
我正在尝试制作等级丰度曲线。这是头
head(rank)
species ab rank
792 PEGR2 462.10 792
1126 COUM 269.70 1126
1314 KRGR 207.04 1314
1439 KRER 177.11 1439
1446 PEBR 176.00 1446
1623 CAMI12 140.71 1623
排名从 792-8538 开始,没有任何离散模式。我只是想在 x 轴上用 abon y 轴绘制排名,但我不能让它不仅显示所有排名,而不是分解它,我不知道是不是因为那里不是 x 轴的模式,也不是因为我必须重新排序。
x轴是数字
这是我的代码
rank.abun <- ggplot(rank ,aes(x = reorder(rank, -ab), y = ab))+
geom_line(stat = "identity")+
#scale_x_continuous(breaks=seq(792, 8538, 10))+
labs(x = "Abundance Rank", y = "Abundance") +
theme_bw()+
theme(panel.grid.minor = element_blank(),
panel.grid.major = element_blank(),
panel.border = element_blank(),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
axis.text.x = element_text(angle = 90))+
理想情况下,x 轴不会包含所有标签。
解决方案
使用scale_x_discrete()
您可以指定要在 x 轴上放置的标签,例如
library(tidyverse)
rank <- tribble(~"species", ~"ab", ~"rank",
"PEGR2", 462.10, 792,
"COUM", 269.70, 1126,
"KRGR", 207.04, 1314,
"KRER", 177.11, 1439,
"PEBR", 176.00, 1446,
"CAMI12", 140.71, 1623)
ggplot(rank, aes(x = reorder(rank, -ab), y = ab)) +
geom_bar(stat = "identity") +
labs(x = "Abundance Rank", y = "Abundance") +
theme_bw() +
theme(panel.grid.minor = element_blank(),
panel.grid.major = element_blank(),
panel.border = element_blank(),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
axis.text.x = element_text(angle = 90)) +
scale_x_discrete(breaks = c(792, 1623),
labels = c(792, 1623))
推荐阅读
- nginx - 将 nginx 安装到 centos7 VPS 但 DNS 中断
- python - 使用 Asyncio 执行 HTTP 请求
- ruby-on-rails - has_one 关联未将方法添加到 belongs_to 类
- numpy - 从 CSV 值构造批处理 Numpy 数组的最佳方法?
- java - 具有平方距离的 2D 随机游走程序
- java - 如何在springboot中构建微服务GET api,它可以将单个或多个参数作为插入请求url并作为请求获取数据
- python - 在 python 中使用 sklearn 计算 TF-IDF 用于变量 n-gram
- c - 叉子和管道,我做错了什么?
- c - 如何编写一个C程序来删除单链表中负元素之前的所有节点?
- sparql - 如何使用 SPARQL 查询获取 IRI 之间或某些 rdf:type 的两个节点之间的路径?