請注意,您的數據是一個字符矩陣。更好,如果經由所創建的Final
對象:
Final <- data.frame(Loc = Locations,
Doy = as.numeric(format(Date,format = "%j")),
Temp = RandData)
就這樣,下面的代碼借鑑了一個窗口,並排兩個圖。我使用plot()
的公式接口來利用它的subset
參數,它的作用類似於subset()
函數。
ylab <- "Temperature"
xlab <- "Day of year"
layout(matrix(1:2, ncol = 2))
plot(Temp ~ Doy, data = Final, subset = Loc == "England", main = "England",
ylab = ylab, xlab = xlab)
plot(Temp ~ Doy, data = Final, subset = Loc == "Wales", main = "Wales",
ylab = ylab, xlab = xlab)
layout(1)
將會產生這樣的情節:
![england wales temperatures](https://i.stack.imgur.com/qxn7J.png)
如果你希望他們都以相同的規模,然後我們修改了一點:
ylab <- "Temperature"
xlab <- "Day of year"
xlim <- with(Final, range(Doy))
ylim <- with(Final, range(Temp))
layout(matrix(1:2, ncol = 2))
plot(Temp ~ Doy, data = Final, subset = Loc == "England", main = "England",
ylab = ylab, xlab = xlab, xlim = xlim, ylim = ylim)
plot(Temp ~ Doy, data = Final, subset = Loc == "Wales", main = "Wales",
ylab = ylab, xlab = xlab, xlim = xlim, ylim = ylim)
layout(1)
產生這個版本的劇情
![england wales temp with same scaling](https://i.stack.imgur.com/JtwUQ.png)
對於線圖,您需要獲取Doy
訂單中的數據,然後將type = "l"
添加到plot()
調用中。
爲了完整性,@Justin展示瞭如何使用其中一個高級繪圖軟件包來實現類似的功能,但通過ggplot2來減少用戶的工作量。該格包是另一個重要的高級別繪圖包R.您可以通過使用點陣達到相同的情節:
require(lattice)
xyplot(Temp ~ Doy | Loc, data = Final, type = c("l","p")
後者產生
![england wales temp v3 via lattice](https://i.stack.imgur.com/rgCQs.png)
使用type = "p"
只是點和type = "l"
只是線路。正如您所看到的,更高級別的軟件包使這些繪圖比使用基本圖形軟件包更容易一些。
對於您想在一個窗口中顯示2個圖還是在同一個窗口中將兩個數據集在另一個窗口之上繪製,有點含糊不清。 –