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