簡體   English   中英

R中具有對數刻度參數的繪圖函數顯示負值

[英]plot function in R with log scale parameters shows negative values

我有一個2列的表格:時間和距離。 它們都> 0(相應地以米和分鍾為單位)。 當我做:

plot(dist, time, main="Distance vs Time", xlab="Distance (meters)", ylab="Time (min)")

我得到以下情節: 在此處輸入圖片說明

不太可讀。 我將使用對數刻度:

plot(log(dist), log(time), main="Distance vs Time", 
   xlab="Distance (meters), log scale", ylab="Time (min), log scale")

我得到以下情節: 在此處輸入圖片說明

我的問題是:為什么圖也顯示負值? 我沒有小於0的任何參數。

您可能更喜歡

plot(dist, time, log="xy", ...)

在圖中獲得負值的原因是,您已明確獲取數據的對數 小於1的值將轉換為負值-這就是數學的工作方式...使用log="xy"代替,將在相同位置繪制點,但會更改比例,以便它們顯示原始值。

set.seed(101)
x <- rlnorm(10)
y <- rlnorm(10)
par(mfrow=c(2,2),las=1,bty="l")

以原始比例繪制:

plot(x,y)

繪制以日志值標記的記錄數據(原始值<1時為負):

plot(log(x),log(y))

繪制記錄的數據,並用原始值標記:

plot(x,y,log="xy")

通過在日志位置指定軸標簽刻度,但使用原始值作為標簽,從頭開始(幾乎)重新創建相同的圖:

plot(log(x),log(y),axes=FALSE)
brkpos <- c(0.2,0.5,1.0,2,3)
axis(side=1,at=log(brkpos),label=brkpos)
axis(side=2,at=log(brkpos),label=brkpos)
box()

(我應該在最后一個子圖中使用軸標簽“ x”和“ y”,而不是“ log(x)”和“ log(y)” ...)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM