如何在R中绘制两个X轴相同的图表?

如何在R中绘制两个X轴相同的图表?,r,plot,ggplot2,R,Plot,Ggplot2,如何使用ggplot2在R中使用相同的x轴绘制2个图表 我正在寻找类似于: 基本思想是将数据集融为一体,以便将要绘制在y轴上的变量值放在一列中,第二列用于区分源。例如: data("economics") dat.m <- melt(economics, measure.vars=c("pop", "unemploy")) 雅虎财务图表通常是交互式的,你可以移动时间窗口和其他功能。为了获得类似的交互效果,我建议使用googleVis软件包。这些绘图是在web浏览器上制作的,因此您可以与它

如何使用ggplot2在R中使用相同的x轴绘制2个图表

我正在寻找类似于:

基本思想是将数据集融为一体,以便将要绘制在y轴上的变量值放在一列中,第二列用于区分源。例如:

data("economics")
dat.m <- melt(economics, measure.vars=c("pop", "unemploy"))

雅虎财务图表通常是交互式的,你可以移动时间窗口和其他功能。为了获得类似的交互效果,我建议使用googleVis软件包。这些绘图是在web浏览器上制作的,因此您可以与它们进行交互。尝试:

install.packages(“googleVis”);图书馆(谷歌);演示(谷歌视讯)

弹出的第八个图形是timeseries的图形。
但这不是ggplot。

Ista使用
ggplot2
的战略大纲也可以使用
lattice
包实现。使用相同的数据:

data("economics")
dat.m <- melt(economics, measure.vars=c("pop", "unemploy"))

使用其他人提到的经济学数据集,可能是一个更好的基础解决方案

layout(matrix(1:2, ncol = 1), widths = 1, heights = c(2,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
with(economics, plot(unemploy~date, type = 'l', xaxt = 'n', main = 'My Great Graph'))
par(mar = c(4.1, 4.1, 0, 2.1))
with(economics, plot(pop~date, type = 'l'))

您将注意到,您根本不需要重塑数据,因为您显式地创建了两个图形,而不必使用一个函数,其中数据按因子分割。而且,这两张图几乎可以是任何东西。。。第二个可能是直方图。另外,您会注意到,在这段代码中,您可以轻松地将相对高度设置为所需的任何值

(此代码的执行速度比ggplot2解决方案快得多…以防出现问题…如网站或其他内容的实时更新,或您有大量数据,或需要制作许多这些图形)

xyplot(value~date|variable,data = dat.m, 
    panel = "panel.lines", layout = c(1,2),
    scales = list(y = list(relation = "free")))
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(2,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
with(economics, plot(unemploy~date, type = 'l', xaxt = 'n', main = 'My Great Graph'))
par(mar = c(4.1, 4.1, 0, 2.1))
with(economics, plot(pop~date, type = 'l'))