假设我有两个数据集,我想在一个图中绘制。
例如:
low <- runif(10,min=10, max=50)
high <- runif(10,min=10000, max=11000)
plot(
high,
type="l",
ylim=c(0,11000)
)
lines(low, type="l")
我不希望y轴显示这些样本之间的所有值,因为它的方式,low
数据将显示为扁平线,即使存在变化。
因此,轴应该在10-50之间具有更细粒度的刻度,并且应该省略50到10000之间的值。然后,间隔[10000-11000]也应该具有更细粒度的刻度。因此,low
样本的变体也是可见的。
有没有办法实现这种行为?
如果发现这个,bt
答案 0 :(得分:1)
这可能有用......?
set.seed(001)
low <- runif(10,min=10, max=50)
high <- runif(10,min=10000, max=11000)
plot(
high,
type="l",
ylim=c(0,11000)
)
lines(low, type="l")
plot(high,
type="l",
col="red",
bty='l',
ylab='', xlab='',
las=1,
cex.axis=.75)
par(new=TRUE)
plot(low,
type="l",
col="blue",
bty='n',
xaxt="n",
yaxt="n",
xlab="", ylab="",
cex.axis=.75)
axis(4, las=1, cex.axis=.75)
legend('topright', c('high', 'low'), col=c('red', 'blue'), lty=1, bty='n', cex=.75)
答案 1 :(得分:0)
除了良好的图形练习的问题,这可以使用 plotrix 包完成:
low <- runif(10,min=10, max=50)
high <- runif(10,min=10000, max=11000)
y <- c(low,high)
x <- rep(1:10,times = 2)
library(plotrix)
yl <- c(pretty(5:70,2),pretty(9900:11000,5))
gap.plot(x,y,
gap = c(70,9900),
gap.axis = "y",
ytics = yl,
type = "l")