在x轴上绘制R中的旋转标签

时间:2013-09-12 14:11:59

标签: r plot

我要绘制这些数据:

day                 temperature
02/01/2012 13:30:00     10 
10/01/2012 20:30:00      8  
15/01/2012 13:30:00     12
25/01/2012 20:30:00      6
02/02/2012 13:30:00      5
10/02/2012 20:30:00      3
15/02/2012 13:30:00      6
25/02/2012 20:30:00     -1
02/03/2012 13:30:00      4
10/03/2012 20:30:00     -2
15/03/2012 13:30:00      7
25/03/2012 20:30:00      1
在x轴上的

我想仅标记45度旋转的月和日(例如1月02日)。如何使用命令plot()?

执行此操作

2 个答案:

答案 0 :(得分:7)

使用基本图形:

tab <- read.table(textConnection('
"02/01/2012 13:30:00"     10
"10/01/2012 20:30:00"      8
"15/01/2012 13:30:00"     12
"25/01/2012 20:30:00"      6
"02/02/2012 13:30:00"      5
"10/02/2012 20:30:00"      3
"15/02/2012 13:30:00"      6
"25/02/2012 20:30:00"     -1
"02/03/2012 13:30:00"      4
"10/03/2012 20:30:00"     -2
"15/03/2012 13:30:00"      7
"25/03/2012 20:30:00"      1'))
tab[, 1] <- as.POSIXct(tab[, 1], format = "%d/%m/%Y %H:%M:%S")

plot(V2 ~ V1, data=tab, xaxt="n")
tck <- axis(1, labels=FALSE)
labels <- format(as.POSIXct(tck, origin="1970-01-01"), "%b %d")
text(tck, par("usr")[3], labels=labels, srt=315,
     xpd=TRUE, adj=c(-0.2,1.2), cex=0.9)

R plot

答案 1 :(得分:3)

ggplot

tab <- read.table(textConnection("
02/01/2012 13:30:00     10 
10/01/2012 20:30:00      8  
15/01/2012 13:30:00     12
25/01/2012 20:30:00      6
02/02/2012 13:30:00      5
10/02/2012 20:30:00      3
15/02/2012 13:30:00      6
25/02/2012 20:30:00     -1
02/03/2012 13:30:00      4
10/03/2012 20:30:00     -2
15/03/2012 13:30:00      7
25/03/2012 20:30:00      1"))



tab[, 1] <- as.Date(tab[, 1], format = "%d/%m/%Y")

library(ggplot2)
ggplot(tab) + geom_point(aes(x = V1, y = V3)) + 
        theme(axis.text.x = element_text(angle = 45, hjust = 1))

enter image description here