我有一个直方图,其中x有42个值。我使用facet_wrap来处理逻辑向量的True / False值。它看起来像这样。
正如你所看到的,我主要担心的是4-6个x周期(即tra 1到4和test 1& 2)。我想要做的是制作两个饼图,显示高于阈值的试验的相对频率(我可能会调整为具有这些类别)和类别"其他"完成100%的计数。
我相信我的问题在于我用于ggplot的data.frame
。在这种情况下,我应该如何重塑我的数据?
我的数据的子集和图的代码
dput(df[1:500,6:8])
structure(list(Entrenamiento = c("VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO",
"FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "FALSO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO", "VERDADERO",
"VERDADERO", "VERDADERO", "VERDADERO"), Maximo = c(219.545, 24.273,
18.364, 5.864, 15.182, 142.545, 11.955, 1.455, 36.182, 146.182,
17.682, 29.364, 24.136, 23.636, 30.955, 10.136, 30.045, 28.227,
4.909, 37.636, 18.955, 55.136, 1.727, 4.5, 46.045, 0, 12.364,
10.636, 115.5, 13.045, 122.455, 8.409, 1.727, 3.182, 0.409, 16.5,
5.636, 13.864, 22.091, 23.455, 9.045, 18.045, 3, 90.727, 9.273,
99.227, 17.364, 15.136, 7.636, 44.227, 67.909, 60.5, 0.909, 32.409,
5.273, 5.727, 0, 3.864, 84.273, 0, 2.409, 28, 114.091, 26.091,
13.773, 23.455, 2.591, 27.045, 21, 106.636, 14.136, 0.636, 3.045,
64.773, 32.5, 102.227, 39.318, 21.909, 17.636, 5.727, 28.955,
210, 31.455, 36, 0, 35.227, 79.682, 7.318, 41.955, 12, 98.5,
183.864, 123.455, 113.045, 63.091, 1.273, 259.591, 177.773, 58.136,
35.955, 5.364, 8.864, 20.273, 136.182, 70.273, 93, 48.545, 64.318,
104.591, 177.864, 6.955, 31.455, 8.455, 132.136, 82.864, 21.227,
0, 37.182, 213.318, 22.273, 6.273, 32.818, 8.545, 11.636, 18.636,
30.045, 13.045, 10.727, 31.136, 8.273, 63.364, 31.909, 88.818,
8.455, 48.409, 43.091, 54.818, 0.545, 23.773, 26.636, 21.636,
22, 65.773, 95.682, 6.227, 0.773, 33.273, 35.636, 1.182, 39.591,
1.182, 57.545, 80.955, 7.273, 24.773, 2.364, 69.13636364, 51.5,
63.81818182, 88.13636364, 32.13636364, 176, 6.681818182, 7.318181818,
99.95454545, 22.13636364, 26.72727273, 63.72727273, 82.22727273,
110.7727273, 88.77272727, 24.77272727, 16.5, 54.95454545, 28.59090909,
36, 6.045454545, 10.59090909, 26.77272727, 53.40909091, 62.27272727,
141.2727273, 19.90909091, 17.59090909, 26.31818182, 57.31818182,
72.18181818, 28.72727273, 56.68181818, 62.27272727, 65.68181818,
65.86363636, 71.22727273, 20.86363636, 80.13636364, 1.045454545,
53.31818182, 34.77272727, 27.72727273, 0.954545455, 31.95454545,
12.18181818, 42.63636364, 50.54545455, 0, 20, 112.8181818, 94.18181818,
6.545454545, 74.31818182, 9.818181818, 15.59090909, 13.40909091,
45.77272727, 19.86363636, 11.31818182, 26.95454545, 6.136363636,
4.318181818, 19.54545455, 0.772727273, 40, 16.77272727, 18.54545455,
3.363636364, 0, 17.59090909, 5.909090909, 136.1363636, 39, 72,
0, 36.27272727, 12.54545455, 2.681818182, 40.18181818, 61.13636364,
13.13636364, 51.18181818, 0.409090909, 49.36363636, 105.1818182,
56.09090909, 44.81818182, 147.5, 168.9545455, 41.86363636, 11.5,
79.27272727, 3.590909091, 214.2272727, 12.95454545, 83.04545455,
86.95454545, 0, 10.18181818, 0, 26.54545455, 65.27272727, 4,
36.13636364, 25.95454545, 84.27272727, 41.54545455, 26.27272727,
12.09090909, 59.72727273, 158.6363636, 64.95454545, 27.59090909,
40.31818182, 19.45454545, 33.13636364, 62.36363636, 85.31818182,
48.5, 64.13636364, 93.72727273, 56.86363636, 112, 128.9545455,
12.72727273, 66.59090909, 142.3181818, 41.77272727, 15.54545455,
23.27272727, 39, 0, 16.86363636, 146, 9.772727273, 15.36363636,
8.681818182, 20.63636364, 36.45454545, 55.86363636, 126.6818182,
10.36363636, 19.18181818, 9.545454545, 48.86363636, 69.31818182,
45.13636364, 47.27272727, 71.59090909, 309.2272727, 36.95454545,
44.86363636, 72.81818182, 27.09090909, 100.1363636, 23.81818182,
37.77272727, 27.22727273, 131.4545455, 14.27272727, 14.09090909,
54.27272727, 50.40909091, 54.45454545, 57.27272727, 238.7727273,
14.77272727, 54.81818182, 83.81818182, 78.18181818, 25.04545455,
14.31818182, 136.1818182, 66.27272727, 43.59090909, 164.8181818,
94.18181818, 148.4090909, 50.54545455, 72.86363636, 14.77272727,
134.5909091, 8.090909091, 31.40909091, 35.86363636, 32.22727273,
13.22727273, 116.5454545, 17.86363636, 85.27272727, 71.09090909,
155.6818182, 183, 69.18181818, 86.72727273, 71.27272727, 13.04545455,
221.8636364, 114.5909091, 6.136363636, 106.9090909, 10.45454545,
19.59090909, 92.40909091, 147.6818182, 80.45454545, 24, 24.18181818,
20.63636364, 27.81818182, 11.77272727, 15.59090909, 47.59090909,
57.77272727, 89.68181818, 98.22727273, 24.81818182, 19.04545455,
145.9090909, 11.18181818, 7.681818182, 36.86363636, 139.8181818,
73.5, 11.04545455, 87.09090909, 5.590909091, 70.22727273, 8.181818182,
102.8636364, 108.1363636, 71.81818182, 35.86363636, 29.90909091,
80.36363636, 188.8636364, 16.54545455, 8.454545455, 22.31818182,
36.90909091, 123.2727273, 56.09090909, 76.36363636, 9.590909091,
164.4545455, 179.8636364, 209.0454545, 38.86363636, 40.63636364,
22.68181818, 30.13636364, 17.22727273, 41.86363636, 8.227272727,
63.40909091, 54.77272727, 63.18181818, 58.5, 23.72727273, 278.3181818,
26.31818182, 142.3181818, 303.6363636, 18.18181818, 15.22727273,
73.04545455, 185.0909091, 98.81818182, 200.3636364, 11.72727273,
60.5, 154, 55.27272727, 115.4090909, 17.09090909, 20.18181818,
26.77272727, 47, 61.40909091, 151.6363636, 29.68181818, 5.818181818,
118.5454545, 66.63636364, 19.22727273, 3.409090909, 13.22727273,
7.454545455, 186.9545455, 54.45454545, 13, 126.6363636, 223.1363636,
7.409090909, 50.5, 48.36363636, 118.9545455, 13.04545455, 183.1363636,
74.5, 23.68181818, 62.81818182, 101.9545455, 101.3636364, 23.27272727,
10.5, 19.5, 58.04545455, 2.727272727, 22.90909091, 78.54545455,
15.86363636, 4.863636364, 13.22727273, 2.636363636, 64.63636364,
3.954545455, 42.72727273, 15.77272727, 63.86363636, 73.59090909,
94.54545455, 177.4090909, 17, 77, 57.22727273, 214.2272727, 38.72727273,
24, 154.6363636, 29.63636364, 150.5909091, 34.72727273, 264.5909091,
22.5, 30.5, 192.4545455, 29.86363636, 17.54545455, 6.954545455,
39.13636364, 20.27272727, 47.59090909), Pasaje = structure(c(2L,
1L, 31L, 2L, 31L, 2L, 4L, 31L, 31L, 2L, 2L, 1L, 31L, 31L, 32L,
2L, 31L, 2L, 2L, 32L, 31L, 31L, 32L, 32L, 2L, 1L, 31L, 2L, 32L,
4L, 4L, 3L, 1L, 1L, 2L, 1L, 31L, 31L, 32L, 4L, 31L, 31L, 31L,
32L, 31L, 32L, 32L, 31L, 2L, 32L, 31L, 32L, 2L, 32L, 4L, 32L,
1L, 32L, 32L, 1L, 31L, 32L, 32L, 3L, 32L, 32L, 32L, 32L, 31L,
32L, 1L, 3L, 31L, 31L, 31L, 31L, 31L, 31L, 31L, 4L, 32L, 2L,
31L, 32L, 1L, 1L, 31L, 32L, 1L, 1L, 31L, 1L, 32L, 31L, 32L, 2L,
32L, 31L, 31L, 1L, 3L, 2L, 3L, 4L, 31L, 2L, 31L, 32L, 2L, 32L,
2L, 32L, 1L, 31L, 31L, 31L, 1L, 32L, 31L, 31L, 32L, 2L, 32L,
32L, 31L, 31L, 31L, 31L, 31L, 2L, 31L, 31L, 31L, 4L, 32L, 32L,
32L, 32L, 32L, 31L, 32L, 32L, 32L, 32L, 31L, 31L, 31L, 32L, 31L,
31L, 1L, 31L, 32L, 31L, 31L, 1L, 1L, 2L, 2L, 4L, 2L, 32L, 31L,
31L, 4L, 3L, 32L, 2L, 31L, 2L, 2L, 31L, 4L, 2L, 32L, 2L, 2L,
1L, 2L, 32L, 2L, 31L, 31L, 31L, 4L, 2L, 31L, 1L, 31L, 3L, 2L,
2L, 32L, 31L, 1L, 4L, 32L, 32L, 32L, 32L, 32L, 31L, 31L, 32L,
1L, 31L, 3L, 31L, 31L, 32L, 32L, 31L, 32L, 31L, 31L, 31L, 32L,
31L, 1L, 3L, 31L, 32L, 32L, 32L, 31L, 1L, 2L, 2L, 32L, 32L, 32L,
1L, 32L, 31L, 1L, 32L, 2L, 1L, 1L, 1L, 1L, 1L, 32L, 4L, 2L, 3L,
4L, 1L, 2L, 4L, 1L, 2L, 2L, 2L, 1L, 32L, 1L, 31L, 31L, 31L, 1L,
1L, 31L, 31L, 31L, 31L, 1L, 31L, 2L, 1L, 2L, 31L, 2L, 2L, 3L,
32L, 3L, 4L, 32L, 31L, 31L, 32L, 32L, 31L, 31L, 3L, 32L, 31L,
1L, 31L, 32L, 1L, 32L, 1L, 31L, 32L, 1L, 1L, 1L, 3L, 1L, 1L,
4L, 2L, 1L, 2L, 2L, 2L, 1L, 4L, 4L, 32L, 1L, 32L, 1L, 2L, 32L,
28L, 31L, 2L, 1L, 32L, 4L, 24L, 2L, 2L, 2L, 1L, 2L, 4L, 7L, 14L,
1L, 31L, 4L, 31L, 31L, 17L, 4L, 19L, 8L, 32L, 20L, 32L, 2L, 1L,
1L, 2L, 2L, 31L, 4L, 2L, 32L, 31L, 4L, 2L, 9L, 31L, 8L, 31L,
31L, 32L, 31L, 31L, 32L, 31L, 31L, 4L, 1L, 31L, 31L, 32L, 32L,
32L, 29L, 31L, 31L, 19L, 31L, 32L, 31L, 32L, 32L, 10L, 31L, 13L,
31L, 32L, 32L, 31L, 31L, 31L, 32L, 32L, 31L, 26L, 1L, 32L, 3L,
4L, 1L, 1L, 1L, 32L, 2L, 2L, 31L, 2L, 2L, 4L, 1L, 31L, 10L, 10L,
2L, 5L, 31L, 32L, 19L, 2L, 2L, 2L, 20L, 31L, 1L, 31L, 31L, 2L,
4L, 3L, 23L, 12L, 31L, 31L, 1L, 1L, 31L, 31L, 12L, 32L, 31L,
31L, 31L, 31L, 32L, 31L, 31L, 26L, 31L, 32L, 3L, 32L, 32L, 32L,
2L, 32L, 32L, 31L, 32L, 31L, 32L, 32L, 17L, 31L, 31L, 30L, 31L,
31L, 31L, 30L, 1L, 25L, 31L, 31L, 32L, 31L, 1L, 32L, 32L, 2L,
32L, 2L, 31L, 2L, 1L, 1L, 2L, 1L, 2L, 31L, 32L, 31L, 1L, 2L,
2L, 31L, 1L, 31L, 2L, 1L), .Label = c("tra1", "tra2", "tra3",
"tra4", "tra5", "tra6", "tra7", "tra8", "tra9", "tra10", "tra11",
"tra12", "tra13", "tra14", "tra15", "tra16", "tra17", "tra18",
"tra19", "tra20", "tra21", "tra22", "tra23", "tra24", "tra25",
"tra26", "tra27", "tra28", "tra29", "tra30", "test1", "test2",
"test3", "test4", "test5", "test6", "test7", "test8", "test9",
"test10", "test11", "test12"), class = "factor")), .Names = c("Entrenamiento",
"Maximo", "Pasaje"), row.names = c(NA, 500L), class = "data.frame")
ggplot(df,aes(Pasaje))+
geom_histogram()+ theme_bw()+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
facet_wrap(~ Entrenamiento)
我在这里查看了相关的答案,但我仍然无法理解我应该用来完成工作的直方图。
Pie charts in ggplot2 with variable pie sizes
Converting bar chart to pie chart in R
http://docs.ggplot2.org/current/coord_polar.html
更新2
我找到了有用的代码here
它几乎完成了这项工作,我正在尝试修改阈值部分以获得输出。
# Your data
# get counts and melt it
frec<-table(df$Pasaje,df$Entrenamiento)
data<-melt(frec)
names(data)<-c("Pasaje","Entrenamiento","Frecuencia")
# calculate percentage:
m1 = ddply(data, .(Entrenamiento), summarize, ratio=Frecuencia/sum(Frecuencia))
#order data frame (needed to comply with percentage column):
m2 = data[order(data$Entrenamiento),]
# combine them:
mydf = data.frame(m2,ratio=m1$ratio)
# get positions of percentage labels:
mydf = ddply(mydf, .(Entrenamiento), transform, position = cumsum(Frecuencia) - 0.5*Frecuencia)
# Establish threshold
thres<-0.01 # Play here to define % desired
mydf2 = mydf[which(mydf$ratio>thres),]
for (i in mydf2$Pasaje){ # Maybe not the best approach
if (grep(i,mydf$Pasaje)==F){
mydf$Pasaje2<-"otro"
} else{
v<-grep(i,mydf$Pasaje)
mydf$Pasaje2[v]<-i
}
}
# create bar plot
pie = ggplot(mydf, aes(x = factor(1), y = Frecuencia, fill = as.factor(Pasaje2))) +
geom_bar(stat = "identity", width = 1) +
facet_wrap(~Entrenamiento)
# make a pie
pie = pie + coord_polar(theta = "y")
# add labels
pie + geom_text(aes(label = sprintf("%1.2f%%", 100*ratio), y = position))
答案 0 :(得分:2)
我认为这可以让你更接近你想要的东西:
library(dplyr)
library(tidyr)
library(scales)
library(ggplot2)
library(viridis)
count(df, Entrenamiento, Pasaje) %>%
mutate(pct=n/sum(n)) %>%
ungroup() %>%
complete(Pasaje, Entrenamiento) %>%
ggplot(aes(x=Pasaje, y=Entrenamiento, fill=pct)) +
geom_tile(color="#7f7f7f", size=0.1) +
coord_fixed() +
scale_fill_viridis(name="Percent", label=percent, na.value="white") +
labs(x=NULL, y=NULL) +
theme_minimal() +
theme(axis.text.x=element_text(angle=90, hjust=1)) +
theme(panel.grid=element_blank())
答案 1 :(得分:1)
一般来说,饼图是个坏主意。由于这个原因,ggplot2故意没有将它们包含为简单的输出。
如果你真的必须,这是一个快速的方法,使用你的数据:
library(ggplot2)
ggplot(df, aes(x = factor(1), fill = factor(Pasaje))) +
geom_bar(width = 1) +
coord_polar(theta = "y")
我们所做的是制作宽度= 1的叠加条形图,然后使用coord_polar
将其打包成饼图。
coord_polar
的帮助表明这不是一个好主意:
注意:请谨慎使用这些图 - 极坐标有 主要的感性问题。这些例子的要点是 演示如何描述这些常见的情节 语法。请谨慎使用EXTREME。
您也可以在基地进行:
答案 2 :(得分:1)
你走了。我已将您的dput
数据输入到名为x
的数据框中。
我没有打扰您的自定义主题,但您显然可以添加它。
library(ggplot2)
library(scales)
library(plyr)
x2 <- ddply(x, .var= c("Pasaje", "Entrenamiento"), function(x) {return(nrow(x))})
ggplot(x2,aes(x=reorder(Pasaje, V1), y= V1))+
geom_bar(stat= "identity")+ coord_flip() +
facet_wrap(~ Entrenamiento) + scale_y_continuous(labels= percent) +
labs(x= "Pasaje", y= "Percent of Counts")
ggplot(x2,aes(x=reorder(Pasaje, V1), y= V1))+
geom_bar(stat= "identity")+ coord_flip() +
facet_wrap(~ Entrenamiento) +
labs(x= "Pasaje", y= "Counts")
如果由于最初未指定的“自然时间顺序”而不想重新排序轴,则可以随时删除对reorder
的调用