R ggplot2图例里面的图

Posted

技术标签:

【中文标题】R ggplot2图例里面的图【英文标题】:R ggplot2 legend inside the figure 【发布时间】:2013-08-06 11:19:48 【问题描述】:

所以,我有以下 data.frame,我想在一个图中为 yval 与 xval 生成两个图,每个 zval 和类型 tp。左边

> df
    xval         yval           se zval cond
1    1.0 1.831564e-02 1.831564e-03    0    a
2    1.2 2.705185e-02 2.705185e-03    0    a
3    1.4 3.916390e-02 3.916390e-03    0    a
4    1.6 5.557621e-02 5.557621e-03    0    a
5    1.8 7.730474e-02 7.730474e-03    0    a
6    2.0 1.053992e-01 1.053992e-02    0    a
7    2.2 1.408584e-01 1.408584e-02    0    a
8    2.4 1.845195e-01 1.845195e-02    0    a
9    2.6 2.369278e-01 2.369278e-02    0    a
10   2.8 2.981973e-01 2.981973e-02    0    a
11   3.0 3.678794e-01 3.678794e-02    0    a
12   3.2 4.448581e-01 4.448581e-02    0    a
13   3.4 5.272924e-01 5.272924e-02    0    a
14   3.6 6.126264e-01 6.126264e-02    0    a
15   3.8 6.976763e-01 6.976763e-02    0    a
16   4.0 7.788008e-01 7.788008e-02    0    a
17   4.2 8.521438e-01 8.521438e-02    0    a
18   4.4 9.139312e-01 9.139312e-02    0    a
19   4.6 9.607894e-01 9.607894e-02    0    a
20   4.8 9.900498e-01 9.900498e-02    0    a
21   5.0 1.000000e+00 1.000000e-01    0    a
22   5.2 9.900498e-01 9.900498e-02    0    a
23   5.4 9.607894e-01 9.607894e-02    0    a
24   5.6 9.139312e-01 9.139312e-02    0    a
25   5.8 8.521438e-01 8.521438e-02    0    a
26   6.0 7.788008e-01 7.788008e-02    0    a
27   6.2 6.976763e-01 6.976763e-02    0    a
28   6.4 6.126264e-01 6.126264e-02    0    a
29   6.6 5.272924e-01 5.272924e-02    0    a
30   6.8 4.448581e-01 4.448581e-02    0    a
31   7.0 3.678794e-01 3.678794e-02    0    a
32   7.2 2.981973e-01 2.981973e-02    0    a
33   7.4 2.369278e-01 2.369278e-02    0    a
34   7.6 1.845195e-01 1.845195e-02    0    a
35   7.8 1.408584e-01 1.408584e-02    0    a
36   8.0 1.053992e-01 1.053992e-02    0    a
37   8.2 7.730474e-02 7.730474e-03    0    a
38   8.4 5.557621e-02 5.557621e-03    0    a
39   8.6 3.916390e-02 3.916390e-03    0    a
40   8.8 2.705185e-02 2.705185e-03    0    a
41   9.0 1.831564e-02 1.831564e-03    0    a
42   9.2 1.215518e-02 1.215518e-03    0    a
43   9.4 7.907054e-03 7.907054e-04    0    a
44   9.6 5.041760e-03 5.041760e-04    0    a
45   9.8 3.151112e-03 3.151112e-04    0    a
46  10.0 1.930454e-03 1.930454e-04    0    a
47   1.0 3.726653e-06 7.453306e-07    0    b
48   1.2 9.929504e-06 1.985901e-06    0    b
49   1.4 2.541935e-05 5.083869e-06    0    b
50   1.6 6.252150e-05 1.250430e-05    0    b
51   1.8 1.477484e-04 2.954967e-05    0    b
52   2.0 3.354626e-04 6.709253e-05    0    b
53   2.2 7.318024e-04 1.463605e-04    0    b
54   2.4 1.533811e-03 3.067621e-04    0    b
55   2.6 3.088715e-03 6.177431e-04    0    b
56   2.8 5.976023e-03 1.195205e-03    0    b
57   3.0 1.110900e-02 2.221799e-03    0    b
58   3.2 1.984109e-02 3.968219e-03    0    b
59   3.4 3.404745e-02 6.809491e-03    0    b
60   3.6 5.613476e-02 1.122695e-02    0    b
61   3.8 8.892162e-02 1.778432e-02    0    b
62   4.0 1.353353e-01 2.706706e-02    0    b
63   4.2 1.978987e-01 3.957974e-02    0    b
64   4.4 2.780373e-01 5.560746e-02    0    b
65   4.6 3.753111e-01 7.506222e-02    0    b
66   4.8 4.867523e-01 9.735045e-02    0    b
67   5.0 6.065307e-01 1.213061e-01    0    b
68   5.2 7.261490e-01 1.452298e-01    0    b
69   5.4 8.352702e-01 1.670540e-01    0    b
70   5.6 9.231163e-01 1.846233e-01    0    b
71   5.8 9.801987e-01 1.960397e-01    0    b
72   6.0 1.000000e+00 2.000000e-01    0    b
73   6.2 9.801987e-01 1.960397e-01    0    b
74   6.4 9.231163e-01 1.846233e-01    0    b
75   6.6 8.352702e-01 1.670540e-01    0    b
76   6.8 7.261490e-01 1.452298e-01    0    b
77   7.0 6.065307e-01 1.213061e-01    0    b
78   7.2 4.867523e-01 9.735045e-02    0    b
79   7.4 3.753111e-01 7.506222e-02    0    b
80   7.6 2.780373e-01 5.560746e-02    0    b
81   7.8 1.978987e-01 3.957974e-02    0    b
82   8.0 1.353353e-01 2.706706e-02    0    b
83   8.2 8.892162e-02 1.778432e-02    0    b
84   8.4 5.613476e-02 1.122695e-02    0    b
85   8.6 3.404745e-02 6.809491e-03    0    b
86   8.8 1.984109e-02 3.968219e-03    0    b
87   9.0 1.110900e-02 2.221799e-03    0    b
88   9.2 5.976023e-03 1.195205e-03    0    b
89   9.4 3.088715e-03 6.177431e-04    0    b
90   9.6 1.533811e-03 3.067621e-04    0    b
91   9.8 7.318024e-04 1.463605e-04    0    b
92  10.0 3.354626e-04 6.709253e-05    0    b
93   1.0 6.065307e-01 1.819592e-01    1    a
94   1.2 7.261490e-01 2.178447e-01    1    a
95   1.4 8.352702e-01 2.505811e-01    1    a
96   1.6 9.231163e-01 2.769349e-01    1    a
97   1.8 9.801987e-01 2.940596e-01    1    a
98   2.0 1.000000e+00 3.000000e-01    1    a
99   2.2 9.801987e-01 2.940596e-01    1    a
100  2.4 9.231163e-01 2.769349e-01    1    a
101  2.6 8.352702e-01 2.505811e-01    1    a
102  2.8 7.261490e-01 2.178447e-01    1    a
103  3.0 6.065307e-01 1.819592e-01    1    a
104  3.2 4.867523e-01 1.460257e-01    1    a
105  3.4 3.753111e-01 1.125933e-01    1    a
106  3.6 2.780373e-01 8.341119e-02    1    a
107  3.8 1.978987e-01 5.936961e-02    1    a
108  4.0 1.353353e-01 4.060058e-02    1    a
109  4.2 8.892162e-02 2.667649e-02    1    a
110  4.4 5.613476e-02 1.684043e-02    1    a
111  4.6 3.404745e-02 1.021424e-02    1    a
112  4.8 1.984109e-02 5.952328e-03    1    a
113  5.0 1.110900e-02 3.332699e-03    1    a
114  5.2 5.976023e-03 1.792807e-03    1    a
115  5.4 3.088715e-03 9.266146e-04    1    a
116  5.6 1.533811e-03 4.601432e-04    1    a
117  5.8 7.318024e-04 2.195407e-04    1    a
118  6.0 3.354626e-04 1.006388e-04    1    a
119  6.2 1.477484e-04 4.432451e-05    1    a
120  6.4 6.252150e-05 1.875645e-05    1    a
121  6.6 2.541935e-05 7.625804e-06    1    a
122  6.8 9.929504e-06 2.978851e-06    1    a
123  7.0 3.726653e-06 1.117996e-06    1    a
124  7.2 1.343812e-06 4.031437e-07    1    a
125  7.4 4.655716e-07 1.396715e-07    1    a
126  7.6 1.549753e-07 4.649259e-08    1    a
127  7.8 4.956405e-08 1.486922e-08    1    a
128  8.0 1.522998e-08 4.568994e-09    1    a
129  8.2 4.496349e-09 1.348905e-09    1    a
130  8.4 1.275408e-09 3.826223e-10    1    a
131  8.6 3.475891e-10 1.042767e-10    1    a
132  8.8 9.101471e-11 2.730441e-11    1    a
133  9.0 2.289735e-11 6.869205e-12    1    a
134  9.2 5.534610e-12 1.660383e-12    1    a
135  9.4 1.285337e-12 3.856012e-13    1    a
136  9.6 2.867975e-13 8.603925e-14    1    a
137  9.8 6.148396e-14 1.844519e-14    1    a
138 10.0 1.266417e-14 3.799250e-15    1    a
139  1.0 2.096114e-01 1.676891e-02    1    b
140  1.2 2.664683e-01 2.131746e-02    1    b
141  1.4 3.320399e-01 2.656320e-02    1    b
142  1.6 4.055545e-01 3.244436e-02    1    b
143  1.8 4.855369e-01 3.884295e-02    1    b
144  2.0 5.697828e-01 4.558263e-02    1    b
145  2.2 6.554063e-01 5.243250e-02    1    b
146  2.4 7.389685e-01 5.911748e-02    1    b
147  2.6 8.166865e-01 6.533492e-02    1    b
148  2.8 8.847059e-01 7.077647e-02    1    b
149  3.0 9.394131e-01 7.515305e-02    1    b
150  3.2 9.777512e-01 7.822010e-02    1    b
151  3.4 9.975031e-01 7.980025e-02    1    b
152  3.6 9.975031e-01 7.980025e-02    1    b
153  3.8 9.777512e-01 7.822010e-02    1    b
154  4.0 9.394131e-01 7.515305e-02    1    b
155  4.2 8.847059e-01 7.077647e-02    1    b
156  4.4 8.166865e-01 6.533492e-02    1    b
157  4.6 7.389685e-01 5.911748e-02    1    b
158  4.8 6.554063e-01 5.243250e-02    1    b
159  5.0 5.697828e-01 4.558263e-02    1    b
160  5.2 4.855369e-01 3.884295e-02    1    b
161  5.4 4.055545e-01 3.244436e-02    1    b
162  5.6 3.320399e-01 2.656320e-02    1    b
163  5.8 2.664683e-01 2.131746e-02    1    b
164  6.0 2.096114e-01 1.676891e-02    1    b
165  6.2 1.616212e-01 1.292970e-02    1    b
166  6.4 1.221507e-01 9.772054e-03    1    b
167  6.6 9.049144e-02 7.239315e-03    1    b
168  6.8 6.571027e-02 5.256822e-03    1    b
169  7.0 4.677062e-02 3.741650e-03    1    b
170  7.2 3.263076e-02 2.610460e-03    1    b
171  7.4 2.231491e-02 1.785193e-03    1    b
172  7.6 1.495813e-02 1.196651e-03    1    b
173  7.8 9.828195e-03 7.862556e-04    1    b
174  8.0 6.329715e-03 5.063772e-04    1    b
175  8.2 3.995846e-03 3.196677e-04    1    b
176  8.4 2.472563e-03 1.978050e-04    1    b
177  8.6 1.499685e-03 1.199748e-04    1    b
178  8.8 8.915937e-04 7.132750e-05    1    b
179  9.0 5.195747e-04 4.156597e-05    1    b
180  9.2 2.967858e-04 2.374286e-05    1    b
181  9.4 1.661699e-04 1.329359e-05    1    b
182  9.6 9.119596e-05 7.295677e-06    1    b
183  9.8 4.905836e-05 3.924669e-06    1    b
184 10.0 2.586810e-05 2.069448e-06    1    b

我已使用 facet_grid 生成此图,但我正在尝试弄清楚一件事。因此,右侧面板用于 z=0,左侧面板用于 z=1。我想将线图例移动到左侧面板内(对于 Z=1)(上角)。我找不到那个选项。

这是我在 R 中用来生成绘图的代码:

plot1 <- ggplot(data=df, aes(x=xval, y=yval, group=cond, colour=cond) ) +
+ geom_smooth(aes(ymin = yval-se, ymax = yval+se, linetype=cond, colour=cond, fill=cond), stat="identity", size=1.1) +
+ scale_colour_hue(l=25) +
+ ylim(-0.1,1.3) + scale_linetype_manual(values = c('a' = 1,'b' = 2))

plot1 + facet_grid(~ zval, scales="free_y") + theme(strip.text.x = element_blank(),strip.background = element_rect(colour="white", fill="white"))

【问题讨论】:

参见?themelegend.position 选项。 【参考方案1】:
plot1 <- ggplot(data=df, aes(x=xval, y=yval, group=cond, colour=cond) ) +
         geom_smooth(aes(ymin = yval-se, ymax = yval+se,
                     linetype=cond, colour=cond, fill=cond), stat="identity",
                     size=1.1) +
         scale_colour_hue(l=25) +
         ylim(-0.1,1.3) + scale_linetype_manual(values = c('a' = 1,'b' = 2))

legend.position 的坐标是距绘图左下角的 x 和 y 偏移量,范围为 0 - 1。

plot1 + facet_grid(~ zval, scales="free_y") + 
theme(strip.text.x = element_blank(),
      strip.background = element_rect(colour="white", fill="white"),
      legend.position=c(.9,.75)
      )

调整 legend.position 值以适合您的偏好。

【讨论】:

如果它对任何人有帮助,legend.position 的坐标是距绘图左下角的 x 和 y 偏移量,范围为 0 - 1。 请注意,legend.position 选项与 plot.margins 不匹配 - 在我的情况下,不值得进行额外的调整!

以上是关于R ggplot2图例里面的图的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2画横向直方图以及去掉图例

R:ggplot2,为啥我的图例显示褪色?

R语言ggplot2可视化增大图例字体实战

R语言可视化包ggplot2改变图例(legend)标签实战

R语言ggplot2可视化:在ggplot2中将图例(legend)移到图内自定义图例所处的位置自定义图例背景图例所处边框的颜色

11.ggplot2——色阶与图例(二)