将条形图的基线 y 改为1(而不是零)。

3
我想使用基线y = 1来呈现一个条形图。我想要呈现折叠变化,因此从1开始。如何使用函数barplot更改y的起始值?谢谢!
a <- c(0.5,1.5)
barplot(a)

barplot(a[a >= 1]) 怎么样? - jay.sf
@jay.sf,感谢您的回答,但似乎不起作用... - user11916948
我不确定你的数据,你不只有两个FC吗?但是请看下面我的答案,或许能给你一些想法。 - jay.sf
3个回答

1
通过减去1并在轴标签中进行补偿来模拟新的y轴基线。
a <- c(0.5,1.5)
at <- c(-0.5, 0, 0.5, 1)

barplot(a - 1, yaxt = "n")
axis(2, at = at, labels = at + 1)
abline(h = 0)

创建于2022年10月17日,使用reprex v2.0.2

0

您可以使用大于或等于1的值进行子集,结合ylimxpd。这样1就不会显示FC < 1,而且图表的基线为1。

barplot(a[a >= 1], ylim=c(1, max(a)*1.1), xpd=FALSE)
box()

enter image description here


数据:

set.seed(334322)
a <- runif(10, 0, 6)

0

直接的解决方案是

barplot(a - 1, offset = 1)

enter image description here

虽然是折叠变化,但考虑使用log2刻度或转换是否更好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接