我有兩個向量(在一個數據框中),我想這樣繪製這個plot(df$timeStamp,df$value)
,它本身很好地工作。現在,該圖以純數字方式將時間戳顯示爲x軸上的標記。繪圖上的替代單位()
當我將時間戳矢量格式化爲「hh:mm:ss」向量時,plot()
抱怨(這很有意義,因爲x軸數據現在是一個字符串向量)。
有沒有辦法說plot(x-vector, y-vector, label-x-vector)
其中label-x-vector包含要沿x軸顯示的元素?
我有兩個向量(在一個數據框中),我想這樣繪製這個plot(df$timeStamp,df$value)
,它本身很好地工作。現在,該圖以純數字方式將時間戳顯示爲x軸上的標記。繪圖上的替代單位()
當我將時間戳矢量格式化爲「hh:mm:ss」向量時,plot()
抱怨(這很有意義,因爲x軸數據現在是一個字符串向量)。
有沒有辦法說plot(x-vector, y-vector, label-x-vector)
其中label-x-vector包含要沿x軸顯示的元素?
你的一般問題的最後部分是用兩個命令而不是一個命令完成的。如果您查看?plot.default
(鏈接自?plot
),您將看到一個選項,使用xaxt
參數(xaxt = 'n'
)將所有x軸一起離開。做到這一點,然後使用axis
來製作你想要的x軸(檢查?axis
)。我不知道您的時間戳目前處於什麼格式,因此很難進一步提供幫助。
一般是......
plot(x-vector, y-vector, xaxt = 'n')
axis(1, x-vector, label-x-vector)
(密謀幫助可能只是關於R-幫助最凌亂的一部分,但一旦你習慣了看plot.default
,axis
,並且par
你會開始獲得更好的處理)
標準R圖非常擅長做你想要的東西,如果你給他們正確的信息。如果您可以將時間戳轉換爲實際時間對象(Date或POSIXct對象),那麼plot
將傾向於做正確的事情。試試下面的例子:
tmp <- as.POSIXct(seq(0, length=10, by=60*5), origin='2011-12-28')
tmp
plot(tmp, runif(10))
tmp2 <- as.POSIXct(seq(0, length=10, by=60*60*5), origin='2011-12-28')
tmp2
plot(tmp2, runif(10))
tmp3 <- as.POSIXct(seq(0, length=10, by=60*60/2), origin='2011-12-28')
tmp3
plot(tmp3, runif(10))
在每種情況下刻度標記是相當有意義的,但如果你想不同的格式,那麼你可以關注@約翰的榜樣,抑制默認軸,然後使用axis.POSIXct
,並指定什麼格式你要。
這些示例使用等間隔時間(由於我的懶惰),但對於不等間隔的時間同樣適用。
完美,就像一個魅力。我想這個「如何瀏覽幫助」仍然是我學習R的最大障礙。謝謝! – 2011-12-28 15:37:09