Re: [问题]坐标轴变更

楼主: andrew43 (讨厌有好心推文后删文者)   2015-04-01 15:46:46
我不知道有没有直接的解法,但硬把资料换算后并自行补上轴线可能是可行的做法。
请参考以下例子。
## 造一组假资料 x,并洗乱大小
x <- sample(c(seq(0.1, 1.9, 0.1), seq(2:500)))
## y 只是用来画图的,不是重点
y <- x + rnorm(length(x), 0.5, 1)
## x >= 2 者进行 log10() + 2 转换,生成 m$xt
m <- data.frame(x = x, y = y)
m$xt <- m$x
m$xt[m$x >= 2] <- log10(m$x[m$x >= 2]) + 2
par(mfrow = c(2, 1))
## x 和 y 的对应图
plot(y ~ x, data = m)
## newx 和 y 的对应图,但不画 x 轴
plot(y ~ xt, data = m, xaxt = "n")
## 画上 x 轴前段
axis(1,
at = c(0, 1, 2),
labels = c("0", "1", "2")
)
## 画上 x 轴后段
axis(1,
at = c(log10(5)+2, 3, log10(50)+2, 3, log10(500)+2),
labels = c("5", "10", "50", "100", "500")
)
※ 引述《coke228 (coke...)》之铭言:
: [问题类型]:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
: [软件熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 我的资料范围是0.1到500 我想画图 但希望2以下是线性坐标 2以上是log坐标 请问可行
: 吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com