R 镶嵌面_包裹和缩放点大小

R 镶嵌面_包裹和缩放点大小,r,ggplot2,facet-wrap,R,Ggplot2,Facet Wrap,简而言之: 我希望使用facet\u wrap为两个面板图的每个“面板”创建单独的图例。使用facet\u wrap(scales=“free”)适用于需要不同轴比例的情况,但不适用于点的大小 背景: 我有几个样本的数据,每个样本有三个测量值:x、y和z。每个样本来自类别1或类别2。x和y在每个类中具有相同的分布。然而,1级的所有z测量值均小于1.0;2级的z测量范围为0到100 我被困的地方: 分别在x和y轴上绘制x和y。使每个点的面积与其z值成比例 问题: 请注意,第一个面板上的点很难看到

简而言之: 我希望使用
facet\u wrap
为两个面板图的每个“面板”创建单独的图例。使用
facet\u wrap(scales=“free”)
适用于需要不同轴比例的情况,但不适用于点的大小

背景: 我有几个样本的数据,每个样本有三个测量值:x、y和z。每个样本来自类别1或类别2。x和y在每个类中具有相同的分布。然而,1级的所有z测量值均小于1.0;2级的z测量范围为0到100

我被困的地方: 分别在x和y轴上绘制x和y。使每个点的面积与其z值成比例

问题:
请注意,第一个面板上的点很难看到,因为它们位于用于单个图例(范围从0到100)的刻度的最低端。甚至可以有两个单独的图例(每个图例的范围不同),还是我应该制作两个绘图并将它们与视口结合起来?

使用
网格。排列
的解决方案。我在调用
facet\u wrap
时离开了,因此
strip.text
仍然保留。你可以很容易地移除这个

# plot for class 1
c1 <- ggplot(e[e$class==1,], aes(x=x,y=y,size=z)) + geom_point() + scale_area() + facet_wrap(~class)
# plot for class 2
c2 <- c1 %+% e[e$class==2,]

library(gridExtra)

grid.arrange(c1,c2, ncol=1)
#1类的绘图

这是不可能的。这是
ggplot2
的设计特点。使用
gridExtra
grid。安排
而不是
facet\u wrap
@mnel说有些事情是不可能的,只是乞求kohske出现并展示其他事情。也就是说,我同意
grid.arrange
显然是正确的路径。谢谢!根据其他评论,使用facet_wrap是不可能的,我可以理解为什么。太多的传说很容易变得太混乱。我将使用视口和grid.arrange来解决我的问题。谢谢大家。
facet\u wrap
正在这里工作,但只处理数据的一个子集。我保留它的唯一原因是保留
条带。标题
每个图都是一个有一个面的面图。
# plot for class 1
c1 <- ggplot(e[e$class==1,], aes(x=x,y=y,size=z)) + geom_point() + scale_area() + facet_wrap(~class)
# plot for class 2
c2 <- c1 %+% e[e$class==2,]

library(gridExtra)

grid.arrange(c1,c2, ncol=1)