我有一个非常基本的问题。我已经创建了一个基本的x,y-plot和我的x值,其范围从-1000到0我想在x轴上拉伸最后50个单位,这样从-1000到-50值默认是一个单位相隔但是从-50到0,他们应该相隔10个单位。这可能吗 ???那个像我这样的人会怎么做?
谢谢
米
更新: 哦,抱歉,我想......好吧没关系,thnx的提示:
例如
x <- c(-1000:-1)
y <- c(1:1000)
plot(x,y)
现在情节是简单的线性但我希望最后50个x-ticks相隔10个单位?这有道理吗?
答案 0 :(得分:2)
如何进行x轴转换:
x <- c(-1000:-1)
y <- c(1:1000)
plot(x,y, type='l')
stretch <- function(x){
y <- x
y[x >= -50] <- 10*x[x >= -50]
y[x < -50] <- x[x < -50] - 500
y
}
plot(stretch(x), y, type='l', axes=FALSE, frame.plot=TRUE, xlab="", ylab="")
或者,您可以使用lattice
作为初学者:
df <- data.frame(x,y)
df$panel <- as.integer(df$x > -50)
library(lattice)
with(df, xyplot(y~x|panel, scales=list(x=list(relation="free"))))
但需要进行大量调整才能摆脱图表之间的中断。
答案 1 :(得分:1)