0

考虑这 3 个变量:A[100*1]、B[100*1] 和M[100*1]。变量M有 7 个类。对于每个班级,我想绘制一个raster类似的图:

ggplot(data = test, aes(x = factor(A), y = factor(B), fill = M)) +
       xlab("A") + ylab("B") +
       geom_raster()

所以,对于每一堂课,我都可以正确地做到:

在此处输入图像描述

在第二步中,我想使用facet_wrap函数将所有 7 个类绘制为一列中的 7 个子图。因此,我为每个班级生成了一个data.framewhere I rbind ABMdata.frame我在ID每个类中添加了一列。数据框df看起来像这样(我删除了每个类的中间行以保持数据框简短):

row A   B   M   ID
1   50  5   0.272727272727273   1
2   50  10  0.352941176470588   1
97  2000    200 0.75    1
98  2000    300 0.692307692307692   1
99  2000    500 0.692307692307692   1
100 2000    1000    0.444444444444444   1
1   50  5   0.199117609627896   2
2   50  10  0.176712023248457   2
98  2000    300 0.059602649006623   2
99  2000    500 0.101954497349775   2
100 2000    1000    0.12773219045144    2
1   50  5   0.864866760389603   3
2   50  10  0.88297043479882    3
3   50  20  0.904572710950147   3
98  2000    300 0.96047443246472    3
99  2000    500 0.96047443246472    3
100 2000    1000    0.925079933067989   3
1   50  5   1   4
2   50  10  1   4
96  2000    150 1   4
97  2000    200 1   4
98  2000    300 1   4
99  2000    500 1   4
100 2000    1000    1   4
1   50  5   0.907284768211923   5
2   50  10  0.921192052980132   5
3   50  20  0.942384105960265   5
98  2000    300 0.987417218543044   5
99  2000    500 0.974172185430469   5
100 2000    1000    0.951655629139076   5
1   50  5   6.875   6
2   50  10  6.75    6
3   50  20  6.5 6
97  2000    200 0   6
98  2000    300 -0.625  6
99  2000    500 -6.375  6
100 2000    1000    -7  6
1   50  5   -489.141    7
2   50  10  -446.8695   7
3   50  20  -335.402    7
4   50  50  -208.469    7
96  2000    150 3.492   7
97  2000    200 7.056   7
98  2000    300 11.177  7
99  2000    500 12.827  7
100 2000    1000    14.487  7

为了绘制 7 个栅格,我使用了这个:

ggplot(data = df, aes(x = factor(A), y = factor(B), fill = M)) +
          xlab("A") + ylab("B") +
          geom_raster() + 
          facet_wrap(~ID, ncol = 1)

它绘制的内容如下所示:

在此处输入图像描述

这是不正确的。它似乎将所有 7facets视为一个ratser。我找不到问题。我会很感激你的帮助。

4

0 回答 0