R 使用2个固定变量从数据框打印

R 使用2个固定变量从数据框打印,r,plot,R,Plot,考虑以下几点: set.seed(1) RandData <- rnorm(100,sd=20) Locations <- rep(c('England','Wales'),each=50) today <- Sys.Date() dseq <- (seq(today, by = "1 days", length = 100)) Date <- as.POSIXct(dseq, format = "%Y-%m-%d") Final <- cbind(Loc

考虑以下几点:

set.seed(1)
RandData <- rnorm(100,sd=20)
Locations <- rep(c('England','Wales'),each=50)
today <- Sys.Date()
dseq <- (seq(today, by = "1 days", length = 100))

Date <- as.POSIXct(dseq, format = "%Y-%m-%d")

Final <- cbind(Loc = Locations, Doy = as.numeric(format(Date,format = "%j")), Temp = RandData)
set.seed(1)

RandData通过使用cbind创建数据,它们都被强制为
字符
。而是使用
data.frame()

或者您可以使用颜色:

ggplot(Final, aes(x=Doy, y=Temp, color=Loc)) + geom_path()

通过使用cbind创建数据,它们都被强制为
字符
。而是使用
data.frame()

或者您可以使用颜色:

ggplot(Final, aes(x=Doy, y=Temp, color=Loc)) + geom_path()

请注意,您的数据是一个字符矩阵。如果通过以下方式创建
最终
对象,效果更佳:

Final <- data.frame(Loc = Locations,
                    Doy = as.numeric(format(Date,format = "%j")),
                    Temp = RandData)
它生成了这个图:

如果您希望两者的比例相同,那么我们将对其进行一些修改:

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)
后者产生


仅对点使用
type=“p”
,对线使用
type=“l”
。如您所见,更高级别的软件包使生成这些绘图比使用基本图形软件包更容易。

请注意,您的数据是一个字符矩阵。如果通过以下方式创建
最终
对象,效果更佳:

Final <- data.frame(Loc = Locations,
                    Doy = as.numeric(format(Date,format = "%j")),
                    Temp = RandData)
它生成了这个图:

如果您希望两者的比例相同,那么我们将对其进行一些修改:

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)
后者产生


仅对点使用
type=“p”
,对线使用
type=“l”
。如你所见,更高级别的软件包使生成这些绘图比使用基本图形软件包更容易。

对于是希望在一个窗口中绘制两个绘图,还是希望在同一窗口中两个数据集重叠绘制,有点不明确。对于是希望在一个窗口中绘制两个绘图,还是希望在一个窗口上绘制两个数据集,有点不明确另一个在同一个窗口中。这两个都很好,但是我不太熟悉使用ggplot,有没有从绘图中删除灰色背景的方法?这两个都很好,但是我不太熟悉使用ggplot,有没有办法从绘图中删除灰色背景?我展示了晶格代码,但除非您熟悉它,否则您将遇到与ggplot2类似的问题。对于基本图形,没有;您负责编写生成各个绘图所需的所有代码。我想您可以编写一个循环,但这将涉及与两个plot调用一样多的代码编写。这里有我展示的晶格代码,但除非您熟悉它,否则您将遇到与ggplot2类似的问题。对于基本图形,没有;您负责编写生成各个绘图所需的所有代码。我想您可以编写一个循环,但这将涉及与两个plot调用一样多的代码编写。
require(lattice)
xyplot(Temp ~ Doy | Loc, data = Final, type = c("l","p")