使用xyplot()在因子内按日期范围自动缩放x轴

时间:2014-02-28 23:54:55

标签: r date pdf-generation axis lattice

我一直在尝试编写一个R脚本,该脚本将绘制由Deployment_ID标识的一组位置的date-temp系列。

理想情况下,输出pdf的每个页面都有Deployment_ID(check)的名称,带有正确轴(检查)的图形以及x轴的正确缩放,以最好地显示特定Deployment_ID的date-temp系列(不检查)。

目前,该脚本生成一个pdf,显示日期列(即1988-2010)中日期的整个范围内的每个ID,而不仅仅是相关的日期(即2005年),它会消除散点图陷入无用之中。

我很确定这与你如何定义xlim有关,但我无法弄清楚如何在绘制图表时让R访问每个因子的日期最小值和最大日期。

我到目前为止的剧本:

#Get CSV to read data from, change the file path and name
data <- read.csv(file.path("C:\Users\Person\Desktop\", "SampleData.csv"))

#Make Date real date - must be in yyyy/mm/dd format from the csv to do so
data$Date <- as.Date(data$Date)

#Call lattice to library, note to install.packages(lattice) if you don't have it
library(lattice)

#Make the plots with lattice, this takes a while.
dataplot <- xyplot(data$Temp~data$Date|factor(data$Deployment_ID),
   data=data, 
   stack = TRUE, 
   auto.key = list(space = "right"), 
   layout = c(1,1),
   ylim = c(-10,40)
   )

#make the pdf
pdf("Dataplots_SampleData.pdf", onefile = TRUE)

#print to the pdf? Not really sure how this works. Takes a while.
print(dataplot)
dev.off()

示例数据可以在我的Google云端硬盘上找到: https://drive.google.com/file/d/0BxHY-_GGS6t-dnhJRTViaEFISmlSRU5Ga2duWWhUUzZ5dlM4/edit?usp=sharing

那里有很多数据,但我想我会提供比可能需要的更多的数据。

1 个答案:

答案 0 :(得分:0)

使用scales参数。试一试

dataplot <- xyplot(data$Temp~data$Date|factor(data$Deployment_ID),
data=data, 
stack = TRUE, 
auto.key = list(space = "right"), 
layout = c(1,1),
scales= list( relation ="free")
  )