ggplot2:创建带有单独观察值的方格和晶须图 [英] ggplot2: create a box and whiskers plot with individual observations
问题描述
我在绘制各个观察结果时遇到问题.这些是我的数据:
I am having problems to plot the individual observations. These are my data:
Subject Part Face_type Microvolts
1 First Half AF -2.029166667
2 First Half AF -1.76
3 First Half AF -3.788333333
4 First Half AF -2.691666667
5 First Half AF 0.335833333
6 First Half AF -4.719166667
7 First Half AF -0.920833333
8 First Half AF -1.719166667
9 First Half AF -6.115
10 First Half AF -0.4175
11 First Half AF -0.855833333
12 First Half AF 0.1925
13 First Half AF -1.485833333
14 First Half AF -1.9475
15 First Half AF -0.790833333
16 First Half AF 0.176666667
17 First Half AF -0.261666667
18 First Half AF -4.4275
1 Second Half AF 0.236666667
2 Second Half AF -0.908333333
3 Second Half AF -3.4925
4 Second Half AF -3.7675
5 Second Half AF -0.541666667
6 Second Half AF -4.305
7 Second Half AF -0.949166667
8 Second Half AF -1.468333333
9 Second Half AF -6.129166667
10 Second Half AF -0.174166667
11 Second Half AF -0.7575
12 Second Half AF 0.904166667
13 Second Half AF -1.7625
14 Second Half AF -2.234166667
15 Second Half AF 0.159166667
16 Second Half AF 0.474166667
17 Second Half AF -1.435833333
18 Second Half AF -4.614166667
1 First Half TF -0.81
2 First Half TF -1.419166667
3 First Half TF -2.945833333
4 First Half TF -1.939166667
5 First Half TF -0.000833333
6 First Half TF -3.699166667
7 First Half TF -1.020833333
8 First Half TF -0.878333333
9 First Half TF -5.41
10 First Half TF -0.2225
11 First Half TF -0.9775
12 First Half TF 1.238333333
13 First Half TF -1.401666667
14 First Half TF -1.419166667
15 First Half TF -0.104166667
16 First Half TF 0.4925
17 First Half TF -0.193333333
18 First Half TF -4.061666667
1 Second Half TF -0.718333333
2 Second Half TF -0.394166667
3 Second Half TF -3.339166667
4 Second Half TF -2.948333333
5 Second Half TF -0.8475
6 Second Half TF -4.2675
7 Second Half TF -1.389166667
8 Second Half TF -1.228333333
9 Second Half TF -5.849166667
10 Second Half TF -0.286666667
11 Second Half TF -1.106666667
12 Second Half TF 0.520833333
13 Second Half TF -1.615
14 Second Half TF -1.583333333
15 Second Half TF -0.500833333
16 Second Half TF 0.099166667
17 Second Half TF -1.973333333
18 Second Half TF -4.194166667
1 First Half FF -1.139166667
2 First Half FF -1.461666667
3 First Half FF -3.603333333
4 First Half FF -2.691666667
5 First Half FF 0.97
6 First Half FF -3.825
7 First Half FF -1.723333333
8 First Half FF -1.726666667
9 First Half FF -6.478333333
10 First Half FF -0.664166667
11 First Half FF -0.856666667
12 First Half FF 0.865833333
13 First Half FF -1.7675
14 First Half FF -1.761666667
15 First Half FF 0.215833333
16 First Half FF 0.409166667
17 First Half FF 0.215833333
18 First Half FF -3.9975
1 Second Half FF -0.809166667
2 Second Half FF -1.581666667
3 Second Half FF -3.0475
4 Second Half FF -3.82
5 Second Half FF 0.370833333
6 Second Half FF -4.259166667
7 Second Half FF -1.445833333
8 Second Half FF -1.485
9 Second Half FF -6.015833333
10 Second Half FF -0.145833333
11 Second Half FF -1.303333333
12 Second Half FF 0.754166667
13 Second Half FF -2.01
14 Second Half FF -1.814166667
15 Second Half FF 0.336666667
16 Second Half FF 0.883333333
17 Second Half FF -0.948333333
18 Second Half FF -3.219166667
1 First Half OF -1.2525
2 First Half OF -1.6125
3 First Half OF -4.205
4 First Half OF -3.615
5 First Half OF 0.1075
6 First Half OF -4.215
7 First Half OF -1.554166667
8 First Half OF -1.780833333
9 First Half OF -5.699166667
10 First Half OF -1.0875
11 First Half OF -0.975
12 First Half OF 0.434166667
13 First Half OF -2.2
14 First Half OF -2.100833333
15 First Half OF -0.441666667
16 First Half OF 0.373333333
17 First Half OF -0.549166667
18 First Half OF -5.225
1 Second Half OF -0.935833333
2 Second Half OF -1.391666667
3 Second Half OF -3.8125
4 Second Half OF -4.176666667
5 Second Half OF -0.864166667
6 Second Half OF -3.763333333
7 Second Half OF -1.315
8 Second Half OF -2.039166667
9 Second Half OF -5.764166667
10 Second Half OF -0.690833333
11 Second Half OF -1.395833333
12 Second Half OF 0.755833333
13 Second Half OF -1.914166667
14 Second Half OF -2.210833333
15 Second Half OF -0.945
16 Second Half OF 0.799166667
17 Second Half OF -1.628333333
18 Second Half OF -4.909166667
我已经使用ggplot2创建了箱形图
I have created a boxplot using ggplot2
myplot <- ggplot(dataM, aes(Part, Microvolts, fill = Face_type)) + geom_boxplot()
我想为两个部分的每个face_type添加单独的分数.为此,我使用
I want to add the individual scores for each face_type for both parts. For that I am using
myplot + geom_dotplot(binaxis='y', stackdir='center',dotsize = .5,fill="black")
但是,这些点按不同类别分组.我也尝试过使用
However, the points are grouped by the different categories. I have also tried using
myplot + geom_point(position = "dodge")
但这不起作用...
有什么主意吗?
谢谢!
推荐答案
以下是一种可能的方法:
Here is a possible approach:
ggplot(df, aes(Part,
Microvolts,
fill = Face_type)) +
geom_boxplot() +
geom_dotplot(binaxis = 'y',
stackdir = 'center',
dotsize = .5,
position = position_dodge(width = 0.75)) #define position, I found the width by trying several different values (I believe the last time I did this it was 0.9)
如果您不希望填充点,则应在对 ggplot
的调用中从 aes
中删除 fill
而不是被所有图层继承)并将其放在 geom_boxplot
图层中,并向 geom_dotplot
添加分组变量(在这种情况下,分组是通过的交互作用定义的Face_type
和 Part
.
If you want the dots not to be filled then you should remove the fill
from aes
in the call to ggplot
(so it is not inherited by all the layers) and put it in geom_boxplot
layer, and add a grouping variable to geom_dotplot
(in this case the grouping is defined by the interaction of Face_type
and Part
.
ggplot(df, aes(x = Part,
y = Microvolts)) +
geom_boxplot(aes(fill = Face_type)) +
geom_dotplot(aes(group = interaction(Face_type, Part)),
binaxis = 'y',
stackdir = 'center',
dotsize = .5,
position = position_dodge(width = 0.75))
要点相同:
ggplot(df, aes(Part,
Microvolts,
fill = Face_type)) +
geom_boxplot() +
geom_point(position = position_dodge(width = 0.75))
数据:
structure(list(Subject = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L,
15L, 16L, 17L, 18L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
16L, 17L, 18L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L,
12L, 13L, 14L, 15L, 16L, 17L, 18L, 1L, 2L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L), Part = c("FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf", "FirstHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf", "SecondHalf",
"SecondHalf", "SecondHalf", "SecondHalf"), Face_type = c("AF",
"AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF",
"AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF",
"AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF",
"AF", "AF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF",
"TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF",
"TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF", "TF",
"TF", "TF", "TF", "TF", "TF", "FF", "FF", "FF", "FF", "FF", "FF",
"FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF",
"FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF",
"FF", "FF", "FF", "FF", "FF", "FF", "FF", "FF", "OF", "OF", "OF",
"OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF",
"OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF",
"OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF", "OF"
), Microvolts = c(-2.029166667, -1.76, -3.788333333, -2.691666667,
0.335833333, -4.719166667, -0.920833333, -1.719166667, -6.115,
-0.4175, -0.855833333, 0.1925, -1.485833333, -1.9475, -0.790833333,
0.176666667, -0.261666667, -4.4275, 0.236666667, -0.908333333,
-3.4925, -3.7675, -0.541666667, -4.305, -0.949166667, -1.468333333,
-6.129166667, -0.174166667, -0.7575, 0.904166667, -1.7625, -2.234166667,
0.159166667, 0.474166667, -1.435833333, -4.614166667, -0.81,
-1.419166667, -2.945833333, -1.939166667, -0.000833333, -3.699166667,
-1.020833333, -0.878333333, -5.41, -0.2225, -0.9775, 1.238333333,
-1.401666667, -1.419166667, -0.104166667, 0.4925, -0.193333333,
-4.061666667, -0.718333333, -0.394166667, -3.339166667, -2.948333333,
-0.8475, -4.2675, -1.389166667, -1.228333333, -5.849166667, -0.286666667,
-1.106666667, 0.520833333, -1.615, -1.583333333, -0.500833333,
0.099166667, -1.973333333, -4.194166667, -1.139166667, -1.461666667,
-3.603333333, -2.691666667, 0.97, -3.825, -1.723333333, -1.726666667,
-6.478333333, -0.664166667, -0.856666667, 0.865833333, -1.7675,
-1.761666667, 0.215833333, 0.409166667, 0.215833333, -3.9975,
-0.809166667, -1.581666667, -3.0475, -3.82, 0.370833333, -4.259166667,
-1.445833333, -1.485, -6.015833333, -0.145833333, -1.303333333,
0.754166667, -2.01, -1.814166667, 0.336666667, 0.883333333, -0.948333333,
-3.219166667, -1.2525, -1.6125, -4.205, -3.615, 0.1075, -4.215,
-1.554166667, -1.780833333, -5.699166667, -1.0875, -0.975, 0.434166667,
-2.2, -2.100833333, -0.441666667, 0.373333333, -0.549166667,
-5.225, -0.935833333, -1.391666667, -3.8125, -4.176666667, -0.864166667,
-3.763333333, -1.315, -2.039166667, -5.764166667, -0.690833333,
-1.395833333, 0.755833333, -1.914166667, -2.210833333, -0.945,
0.799166667, -1.628333333, -4.909166667)), class = "data.frame", row.names = c(NA,
-144L))
这篇关于ggplot2:创建带有单独观察值的方格和晶须图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!